Linux ホストを管理する際、多くのログインパスワードを管理するのは面倒です。SSH-KEY を使用してサーバーにログインすることで、この問題を解決することができます。以下はクライアント側でパスワードなしで SSH にログインするための SSH-KEY の使用方法です。1 つの SSH-KEY で複数のサーバーにアクセスできます。
- ssh-keygen を使用して、リモート SSH サーバーにログインするための公開鍵と秘密鍵をローカルで作成します。
ssh-keygen -t [rsa|dsa] -C "コメント"
-t で RSA または DSA の鍵を選択できます#
-C でコメントを選択できます#
Enter を押して進めると、~/.ssh ディレクトリに 2 つのファイルが作成されます。id_dsa #秘密鍵、適切に保存してください。 id_dsa.pub #公開鍵
2. 公開鍵を対応するユーザーのサーバーの~/.ssh/ ディレクトリにコピーします。
3. サーバーのユーザーの~/.ssh/ ディレクトリで次のコマンドを実行します。
cat id_dsa.pub >>authorized_keys
初めて使用する場合#
chmod 600 authorized_keys
注意:セキュリティ上の理由から、authorized_keys ファイルのパーミッションは 600 である必要があります。
4./etc/ssh/sshd_config を編集し、SSHD の公開鍵認証モードが有効になっているか確認します。
# 公開鍵認証を許可するかどうか。SSH-2 のみで使用できます。
PubkeyAuthentication yes|no #SSH-2 を有効にする
純粋な RSA 公開鍵認証を許可するかどうか。SSH-1 のみで使用できます。#
RSAAuthentication yes|no #SSH-1 を有効にする
5. リモートサーバーからログアウトし、再度リモートサーバーにログインしてみてください。
ssh xxx.xxx.xxx.xxx
6./etc/ssh/sshd_confg を編集し、必要に応じて SSHD のパスワード認証を無効にします。
パスワードに基づいた認証を許可するかどうか。#
PasswordAuthentication yes|no
チャレンジレスポンス認証を許可するかどうか。#
ChallengeResponseAuthentication yes|no
7.MACOS システムの場合、ローカルで SSH 接続を設定することができます。~/.ssh/Config を開き、ファイルを編集します。ファイルが存在しない場合は新しいファイルを作成します。
Host XXX.XXX.XXX.XXX
HostName XXXX.com
Port 22
User root
公開鍵認証を優先する#
PreferredAuthentications publickey
秘密鍵の場所#
IdentityFile ~/.ssh/id_dsa