公開鍵認証による SSH接続の方法

SSH(Secure Shell)は、ネットワーク上の通信が暗号化されて行われるプロトコルで、安全にリモートコンピュータと通信することができます。SSHのインストール作業はサーバーで行いますが、導入後はリモートアクセスで作業する事が出来るようになります。

今回は、アカウント公開鍵認証でログインする方法を紹介します。
アカウントとパスワード認証よりセキュリティーが向上します。

スポンサーリンク

SSHをインストール

秘密鍵・公開鍵の作成

SSHでログインしたい一般ユーザーで、ssh-keygen コマンドを実行して秘密鍵・公開鍵を作成します。
※ 秘密鍵:id_rsa、公開鍵:id_rsa.pub

■ 秘密鍵(クライアント側で使用)

■ 公開鍵(サーバー側で使用)

公開鍵の登録(サーバー側)

作成された公開鍵から authorized_keys を作成します。

秘密鍵の登録(クライアント・Windowsの場合)

id_rsa(秘密鍵)を FTP などを使ってダウンロードして下さい。
秘密鍵の登録するには、フリーソフトの puttygen.exe(英語var.)を使います。

登録手順

続いて、putty.exe に秘密鍵を登録します。PuTTY(英語var.)又は、PuTTY ごった煮版(日本語var.)を使います。

秘密鍵の登録(クライアント・Linuxの場合)

既に他の秘密鍵がある場合は、下記のように config を作成して登録します。
$ vi ~/.ssh/config を作成します。

SSHサーバー設定(鍵認証有効にする)

# vi /etc/ssh/sshd_config を修正します。
下記の sshd_config は既に修正済みです。

// rootのログインを禁止。
PermitRootLogin yesPermitRootLogin no
// 公開鍵の保存場所を指定。
AuthorizedKeysFile %h/.ssh/authorized_keys
// パスワード認証を禁止(鍵認証で接続が成功してから禁止した方がいいと思います。)
#PasswordAuthentication yesPasswordAuthentication no

設定ファイルのチェック

SSHサーバーを再起動(設定反映)

Windowsクライアントからのリモート接続

Windowsクライアントからリモート接続するには、フリーソフトのPuTTY(英語var.)又は、PuTTY ごった煮版(日本語var.)を使います。PuTTY を起動して、ホスト名を入力して開くを押すとサーバーに接続する事が出来ます。

最後に

生成された秘密鍵を紛失すると、SSHログインが出来なくなりますのでくれぐれもご注意ください。秘密鍵を無くしてしまったら、サーバーの端末を直接操作して、SSHサーバーのパスワード認証を有効にすれば、パスワードでリモート接続出来ます。VPSの場合は、事業者が用意している管理画面にコンソールがあれば、そこからサーバーに接続して同様の手段で対応できます。

読んで頂いて有り難うございます!