ssh やSFTPをパスワードなしで接続するには次のようにします。
鍵ファイル名を指定して「公開鍵」「非公開鍵」2つの鍵ファイルを作成します。
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa__mysite
(何か入力を促されますが、そのままenterを2回押します)
これで
公開鍵「id_rsa__mysite.pub」 と
非公開鍵「id_rsa__mysite」
が生成されます。
ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519__mysite
で生成します。生成ファイル名(「id_rsa__mysite」→「id_ed25519__mysite」)に変えているので、以下の文章のファイル名のところは読み替えてください。
接続元マシンで以下のように入力します
ssh-keygen -l -f ~/.ssh/id_rsa__mysite
# または次のコマンドでもok
ssh-keygen -l -f ~/.ssh/id_rsa__mysite.pub
表示される先頭の数字がバイト数です。2048以上になっていることを確認します。
cat ~/.ssh/id_rsa__mysite.pub
(画面上にキーを表示してクリップボードにコピーする)
cd
mkdir .ssh
chmod 700 .ssh
cd .ssh
touch authorized_keys
chmod 600 authorized_keys
vi authorized_keys
(ここでviから先ほどクリップボードにコピーした鍵をペーストする。)
viの保存コマンド esc → :wq → Enter で保存する。
なお、サーバによってはファイル名「authorized_keys2」というファイルが存在することがあります。(古いサーバです。)
気にせず「authorized_keys」に追記 します。
どちらのファイルもない場合は「authorized_keys」でOKです。
ssh -i ~/.ssh/id_rsa__mysite user@xxx.yyy.zzz
なお、SSH接続の不具合を調査するときはこのように -v をつけて実行します
ssh -v -i ~/.ssh/id_rsa__mysite user@xxx.yyy.zzz