#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アドレスだとだめ). 
~
~

Front page   Edit Diff Attach Copy Rename Reload   New List of pages Search Recent changes   Help   RSS of recent changes