#author("2023-07-24T15:00:07+09:00","default:Miyashita","Miyashita") #author("2024-04-05T18:08:39+09:00","default:Miyashita","Miyashita") *RSA暗号を使ったssh接続設定 [#u8918ce4] セキュリティについては何ら保証できません.~ //ネットのあらゆる場所に情報が転がっているが,毎回全く同じことするのにググってページを見極めるの面倒だったので自分用にメモを残した.~ ~ 接続元と接続先を入れ替えて同じことをすれば,どちらからでもパスワード不要になり rsync や ssh が結構楽になる.~ ~ **接続元 (guest) [#uc74a9fd] #codeprettify{{ $ 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回目はパスフレーズとその確認(何も入力しないことも可能).~ ~ 無事生成できたらリモート接続先へ送る. #codeprettify{{ $ ssh-copy-id -i ~/.ssh/id_rsa.pub miyashita@hostname }} hostname の部分はIPアドレスでもいいけど,/etc/hosts でホスト名をつけておいたほうがよい. ~ ~ **接続先 (host) [#v281ccbe] 上の ssh-copy-id が実行できれば特に何もしなくて良かった.~ 前は /home/miyashita/.ssh/authorized_keys とかに id_rsa.pub の中身を書いていたりしてた.authorized_keys の中には許可された接続元の分だけの行数がある.~ 場合によっては /etc/sshd/sshd_config の #codeprettify{{ # To disable tunneled clear text passwords, change to no here! #PasswordAuthentication yes }} を確認する必要があるかも.~ ~ ~ **なんかエラー [#n13ac3f6] これまで接続できていたはずなのに,以下のエラーが出るようになった. port 22: no matching host key type found. Their offer: ssh-rsa,ssh-ds OpenSSH 8.9 の Release note に書いてあるように,ゲスト側の ~/.ssh/config に #codeprettify{{ Host hostname HostkeyAlgorithms +ssh-rsa PubkeyAcceptedAlgorithms +ssh-rsa }} と書いて置いたらまた接続できた.hostname にはホスト名かIPアドレスを書く.ホスト名の方が良い.~ ~ ちなみに hostname のところを hostname と書いたら #codeprettify{{ ssh miyashita@hostname }} としないと同じエラーが出るっぽい(IPアドレスだとだめ). ~ ~