-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]
...
#