-Aオプションを付与しても,Permission denied (publickey)エラーで接続できないときにやったことのメモ
(わかりずらいため,以下よりローカル環境のシェルを$,SSH 接続先環境のシェルを%で示すことにする)
TL;DR
接続元で以下コマンドを実行する
eval "$(ssh-agent)"
ls ~/.ssh/*.pub | sed -E 's/\.pub$//' | xargs ssh-add
ssh -A [SSH接続先情報]ローカルから SSH する
ssh -A [接続先]で接続する
$ ssh -A [email protected]
...
%SSH 接続先でキーが確認できるか確かめる
SSH 接続先で以下を実行
% ssh-add -l失敗していたのでこんな感じだった
% ssh-add -l
Could not open a connection to your authentication agent.ローカル環境で SSH エージェントを起動する
ローカル環境で以下を実行
$ eval "$(ssh-agent)"
Agent pid 22942再び SSH 接続先でssh-addを確かめてみると,エージェントは起動しているが鍵がないといわれる
% ssh-add -l
The agent has no identities.ローカル環境で SSH エージェントに鍵を登録する
ssh-add [秘密鍵のパス]を実行する
$ ssh-add ~/.ssh/id_ed25519
Identity added: /home/aaa/.ssh/id_ed25519 (aaa@aaa)再び SSH 接続先でssh-addを確認.鍵が登録できていることがわかる
% ssh-add -l
256 SHA256:iKc2SSGdDPMSQ/HpmWBcQxJ5DNia5cIni6Y30/xIKJc aaa@aaa (ED25519)SSH 接続先から別の SSH 接続先に SSH する
このときは-Aオプションはいらない
% ssh [email protected]
...
#