Linuxで一般的に使用されるシークレットフリー接続。キーペアで実現。キーファイルが指定されていない場合、デフォルトのid_rsaが使用されます
- キーペアの作成コマンド
ssh-keygen
-t:キータイプを指定します。デフォルトはrsaです。 -Cを省略でき ます:コメントテキストを設定します-f:キーファイルストレージのファイル名を指定します。デフォルトはid_rsaです
例:
#ssh-keygen
#ファイル名を指定します #ssh-keygen -f /root/.ssh/gitlab -C "GITLAB"
/root/.ssh/config構成
#複数のキーペアがある場合。ssh接続の場合は、使用する秘密鍵ファイルを指定する必要があります。指定しない場合は、デフォルトのid_rsaファイルが使用されます。したがって、コピーした公開キーがid_rsa.pubでない場合、ssh接続にもパスワードが必要になり、パスワードなしのログインはできません。 #キーファイルを指定します。別の方法は、Linuxホストの/root/.sshに構成ファイルを作成することです。これは構成ファイルで定義されており、sshを使用して接続するときに区別されます。 #タッチ/root/.ssh/config #猫/root/.ssh/config ホスト192.168.1.194 ホスト名192.168.1.194 #PreferredAuthentications公開 IdentityFileに/root/.ssh/nginx01 ホスト192.168.1.191 ホスト名192.168.1.191 #PreferredAuthentications公開 IdentityFileに/ root / .ssh / nginx02 ホスト192.168.1.190 ホスト名192.168.1.190 # PreferredAuthentications publickey #ユーザールート IdentityFile /root/.ssh/gitlab
congfig configuregiteeとgithub
#gitee Host gitee.com HostName gitee.com PreferredAuthentications publickey IdentityFile〜 / .ssh / gitee_rsa #github Host github.com HostName github.com PreferredAuthentications publickey IdentityFile〜 / .ssh / github_rsa
sshコマンドを使用するときにキーファイルを指定します。
#ssh -i /root/.ssh/nginx01 192.168.1.194
ssh-copy-idコマンド:
-i:指定した公開鍵をリモートホストにコピーします。デフォルトでコピーされるファイルは/root/.ssh/id_rsa.pub#ssh-copy-id -i /root/.ssh/nginx02.pub192.168.1.190です。