sshを利用してパスワードを使わないで接続する方法!!
こんにちは。
達人ブログです。
本日はsshを利用して、パスワード入力なしでリモートホストに接続する方法についてご紹介します。
パスワードでの接続は便利な半面、打ち間違いや漏洩の危険性もありますので、暗号化できるものは暗号化してしまいましょうという考え方です。
まずは、ディレクトリ「.ssh」を作成します。
次に鍵を作成します。
$ ssh-keygen -t dsa
ここでパスフレーズ等を設定しますが、詳細は割愛します。
基本的には表示される内容に従って「Enter」を押していきます。
「Enter passphrase ~」と指示されたら、設定したいパスフレーズを入力します。
確認のため、「同じパスフレーズをもう一度入力してください」と指示されますので、同じものを入力して下さい。
続いて公開鍵のid_dsa.pubファイルをリモートログインしたい端末へ転送します。
(※拡張子の.pubは公開鍵を表すpublicの略です。)
こちらのパーミッションも700で構いません。
そして、id_dsa.pubファイルをauthorized_keysファイルに加えます。
authorized_keysファイルは.ssh/ディレクトリの下に設定されています。
最後に、サーバ側で証明書でのログインを許可する設定を/etc/ssh/sshd_condfigファイルに書き込みます。
書き込む内容は以下の通りです。
PubkeyAuthentication yes
準備は以上になります。
ここまで完了したらsshを再起動して、サーバから一度ログアウトします。
そして改めてsshでログインして、最初に設定したパスフレーズを入力します。
ここまで実行してログインできたら、パスワード入力でのログインを不可にする設定を行います。
サーバ側の/etc/ssh/sshd_configを以下のように変更します。
PasswordAuthentication no
ポイントは、初期設定の状態だと「yes」になっているので「no」に変更することです。
変更したら、sshdを再起動します。
$ service sshd restart
設定は以上で終了です。
本日は以上です。
では、また次回に。