業務用エアコン関連の技術情報、エラーコード、環境問題対策に関する別サイト「エアコンの安全な修理・適切なフロン回収」

openSUSE Tumbleweed : 公開鍵暗号化方式によるSSHリモート接続

1.鍵ペア作成

クライアント用に秘密鍵、サーバー用に公開鍵を作成し、鍵ペアによる認証でログインできるようにします
OpenSSH 使って Linux サーバに接続するユーザの公開鍵と秘密鍵のペアを作成します。
鍵ペアの作成は ssh-keygen をを使います。
公開鍵と秘密鍵のペアの作成はリモートログインするユーザ権限で実行します。
作成先・ファイル名を指定しなければ、 /home/huong/.ssh/ に id_ed25519,id_ed25519.pub が作成される。 途中、鍵用のパスワードも入力する。

鍵ペア作成

# 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): 
Created directory '/home/huong/.ssh'.
Enter passphrase for "/home/huong/.ssh/id_ed25519" (empty for no passphrase): [Password]
Enter same passphrase again: [Password]
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:XmHHvlFxADbevb2DOFtMiHC23RB/+gJh3qBuJncWY0Q huong@Lepard
The key's randomart image is:
+--[ED25519 256]--+
|           E+.o..|
|          .+oo + |
|       . oo*+.o..|
|        +.O+B.o o|
|        S+.Oo= ..|
|       .... Boo .|
|       ..= =.= + |
|        = o + . .|
|           .     |
+----[SHA256]-----+
huong@Lepard:~>  cat ~/.ssh/id_ed25519.pub >> ~/.ssh/authorized_keys
huong@Lepard:~>  chmod 600 ~/.ssh/authorized_keys
huong@Lepard:~>  chmod 700 ~/.ssh/

作成した秘密鍵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になり行う。

# vi /usr/etc/ssh/sshd_config

# 64行目:パスワード認証不可に変更
PasswordAuthentication no
# 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」を指定する