クライアント用に秘密鍵、サーバー用に公開鍵を作成し、鍵ペアによる認証でログインできるようにします
1.鍵ペア作成
OpenSSH 使って Linux サーバに接続するユーザの公開鍵と秘密鍵のペアを作成します。
鍵ペアの作成は ssh-keygen をを使います。
公開鍵と秘密鍵のペアの作成はリモートログインするユーザ権限で実行します。
作成先・ファイル名を指定しなければ、 /home/huong/.ssh/ に id_ed25519,id_ed25519.pub が作成される。 途中、鍵用のパスワードも入力する。
鍵ペア作成
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# su - huong huong@Lepard:~> ssh-keygen -t ed25519 Generating public/private ed25519 key pair. Enter file in which to save the key (/home/huong/.ssh/id_ed25519): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/huong/.ssh/id_ed25519 Your public key has been saved in /home/huong/.ssh/id_ed25519.pub The key fingerprint is: SHA256:NleLv0hKEYu5YhaBjJITQLUughwcP/NMxZ/uFWeilSY huong@Lepard The key's randomart image is: +--[ED25519 256]--+ |=o.. .. | |.=o.. .. | |=oo=.. o . o | |+.o *. o E O + | |oo ..oo S B * | |. . . o * o | | + . o o . | | o . . + . . | | . . . | +----[SHA256]-----+ |
1 2 3 4 |
huong@Lepard:~> ll ~/.ssh total 8 -rw------- 1 huong users 444 Jun 15 15:17 id_ed25519 -rw-r--r-- 1 huong users 94 Jun 15 15:17 id_ed25519.pub |
1 2 |
huong@Lepard:~> cat ~/.ssh/id_ed25519.pub >> ~/.ssh/authorized_keys huong@Lepard:~> chmod 600 ~/.ssh/authorized_keys |
作成した秘密鍵id_ed25519 をwinSCPでwindowsの適当なところに保存
winSCPを起動する
New Site クリック
Host name : サーバーIPアドレス
Port number : SSHポート番号
User name : ログインユーザー名
Password : 上記ユーザーのパスワード
Save クリック
Site name : 任意の名前を付ける
OK クリック
該当サーバーを選択し、Loginをクリック
下記のようなセキュリティー確認画面が表示されれば"Update"をクリック
Password : ログインユーザーのパスワード
OK クリック
接続されると、左欄サーバー側、右欄PC(Windows)側になる。
.sshディレクトリーにある"id_ed25519"ファイルを右欄Windowsの適当なところに保存する
2. SSH 設定の編集
2.1 設定ファイルの編集
なお、鍵認証にした場合、以下のように SSH サーバー側でパスワード認証を禁止すると、よりセキュアな環境とすることができます。今度は一般ユーザではなく、 su - で rootになり行う。
1 2 3 4 |
# vi /etc/ssh/sshd_config # 66行目:パスワード認証不可に変更 PasswordAuthentication no |
1 |
# systemctl restart sshd.service |
2.2 Tera Termで接続方法
TeraTermを開き「File」メニューから「New Connection」をクリック
Host : サーバーIPアドレス
TCP port : SSHポート番号
OK クリック
次のセキュリティー警告が出た場合「Replace....」にチェックを入れ「Continue」
User name : ログインユーザー名
Password :公開鍵、秘密鍵ペアの作成で指定したパスワード
「Use RSA/DSA/ECDSA/ED25519 key to log in」の「Private key file:」には先ほどWindowsに保存した
「id_ed25519」を設定し、「OK」をクリック
2.3 PuTTYgen を使った秘密鍵の作成
Winscpを起動し「Tools」からRun Puttygen を起動する
該当サーバーを選択
Loadをクリック
[ ファイルを開くダイアログ ] が開くのでファイルの種類を [ All Files (*.*) ] に変更して Linux サーバから転送した秘密鍵 id_ed25519 を読み込みます。パスワードは上記「公開鍵、秘密鍵ペアの作成」で設定したパスワード
「Save private key」をクリックする
Windows側に先ほど保存した「id_ed25519」と同じところに拡張子「.ppk」として「id_ed25519.ppk」の名称で保存
該当サーバーを選択し、「Edit」クリック
Advabced...をクリック
「Authentication」メニューを開き、「Private key file」に先ほどWindowsに保存した「id_ed25519.ppk」を指定する
「Save」をクリック
「Login」をクリック
パスワードの欄には、最初に作成した公開鍵の課程で定義したパワードを入力する
ユーザーのログインパスワードではありません
Tera Termで接続する場合は以下のように
「Use RSA/DSA/ECDSA/...」の欄にはwindowsに保存した「id_ed25519.ppk」を指定する