RSA暗号を使ったssh接続設定

セキュリティについては何ら保証できません.
接続元と接続先を入れ替えて同じことをすれば,どちらからでもパスワード不要になり rsync や ssh が結構楽になる.

接続元 (guest)

$ ssh-keygen -t rsa

すると下のような文が出てくる.

Generating public/private rsa key pair.
Enter file in which to save the key (/home/miyashita/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/miyashita/.ssh/id_rsa.
Your public key has been saved in /home/miyashita/.ssh/id_rsa.pub.

入力を3回求められ,1回目は生成するファイルの場所,2,3回目はパスフレーズとその確認(何も入力しないことも可能).

無事生成できたらリモート接続先へ送る.

$ ssh-copy-id -i ~/.ssh/id_rsa.pub miyashita@hostname

hostname の部分はIPアドレスでもいいけど,/etc/hosts でホスト名をつけておいたほうがよい.

接続先 (host)

上の ssh-copy-id が実行できれば特に何もしなくて良かった.
前は /home/miyashita/.ssh/authorized_keys とかに id_rsa.pub の中身を書いていたりしてた.authorized_keys の中には許可された接続元の分だけの行数がある.

場合によっては /etc/sshd/sshd_config の

# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes

を確認する必要があるかも.


なんかエラー

これまで接続できていたはずなのに,以下のエラーが出るようになった.

port 22: no matching host key type found. Their offer: ssh-rsa,ssh-ds

OpenSSH 8.9 の Release note に書いてあるように,ゲスト側の ~/.ssh/config に

Host hostname
    HostkeyAlgorithms +ssh-rsa
    PubkeyAcceptedAlgorithms +ssh-rsa

と書いて置いたらまた接続できた.hostname にはホスト名かIPアドレスを書く.ホスト名の方が良い.

ちなみに hostname のところを hostname と書いたら

ssh miyashita@hostname

としないと同じエラーが出るっぽい(IPアドレスだとだめ).


Front page   Edit Diff Attach Copy Rename Reload   New List of pages Search Recent changes   Help   RSS of recent changes
Last-modified: 2023-04-26 (Wed) 05:52:20 (360d)