ssh接続の自動化(簡略化)と安全性を図るため(Geminiさんに言われたんで)にやってみることにした。
過去ログ漁ったら、昔も同じようなことやっていたんだよね。
さて、鍵のセットを作る。
|
1 |
ssh-keygen -t ed25519 |
なぜ「ed25519」という名前なのかは知らない。(Geminiさんのいう通りやっただけ)
これだけで~./ssh/内にid_ed25519(秘密鍵)とid_ed25519.pub(公開鍵)が出来上がる。
次に~/.ssh/configに次のように書く。(無ければ作る)
|
1 2 3 4 |
Host hostname HostName HostName User UserName IdentityFile ~/.ssh/id_ed25519 |
次は繋げる先の設定。
相手側に取り敢えず今まで通り繋げる。
~/.ssh/に移動
vi authorized_keys
ここで繋げる元のid_ed25519.pubをless等で開く。
内容(1行しかない)をコピーし接続先のviにペーストする。
保存してお仕舞い。
今までは
ssh UserName@HostName
だったのが
ssh HostName
だけで済むようになり、且つpasswordの入力要求もスキップされる。
らしいが、dnsが二つ動いていて一方の設定ミスのせいで名前が一致していないので動作が不安定になっている。
なので、まともには行かない。
毎回Password要求されるのよ。(^_^;;
dnsは直したので、mDNSResponderが逆引き名を忘れてくれるか、再起動後かに確かめることにするわ。
その時はもう一度ssh-keygenからやり直そう。
追記
やり直しても同様(passwordを聞かれる)だったので、ssh -v -i ~/.ssh/id_ed25519で動作状況を表示させ、Geminiさんに解析してもらいましたよ。
するとすぐに判りました。(Geminiさんが)
server側のopensshが古くてid_ed25519の公開鍵を読めなかったという。そんなオチ。
なので、
|
1 |
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa_legacy |
と、古いタイプのrsa keyを作って、その公開鍵をサーバー側にコピペ。
これでpassword無しでの接続ができるようになりました。
良かった良かった。(良かったのだろうか?

