私は初心者ssh-agent
であり、私が思ったことを発見しました。 」抜け穴」。
状態
- パスワードで保護された秘密鍵があります。
ssh-agent
毎回パスワードを書かないように使用したいと思いますssh
。ssh-agent
ssh-agent -l
秘密鍵を追加します(表示された秘密鍵に従って)。- しかし、
ssh
(ファイルのおかげで)秘密鍵を利用してリモートサーバに接続しようとすると~/.ssh/config
、ssh-agent
まだパスワードを尋ねます。!
環境
私はLinux 4.5.7-202.fc23.x86_64 #1 SMP Tue Jun 28 18:22:51 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
Fedoraを使用しており、ssh
バージョンはですOpenSSH_7.2p2, OpenSSL 1.0.2h-fips
。ここでは、GNOME 3 Keyring Agentとssh-agent
。
ここにいる~/.ssh/config
:
IdentitiesOnly yes
[..]
Host root.w.com
HostName 92.1.2.3
User user
Port 22
IdentityFile /home/user/.ssh/key-rsa.priv
GNOME 3キーリングエージェント
user@local:~$ ssh server-key
Enter passphrase for key '/home/user/.ssh/key-rsa.priv':
You have new mail.
Last login: Sat Aug 13 10:41:46 2016 from some.ip.dot.org
user@remote:~$
Connection to <remote-ip> closed.
user@local:~$ echo $SSH_AUTH_SOCK
/run/user/1000/keyring/ssh
user@local:~$ echo $SSH_AGENT_PID
user@local:~$ ssh-add ~/.ssh/key-rsa.priv
Enter passphrase for /home/user/.ssh/key-rsa.priv:
Identity added: /home/user/.ssh/key-rsa.priv (/home/user/.ssh/key-rsa.priv)
user@local:~$ ssh-add -l
4096 SHA256:aZl81hzUczH+sX+/5+tCJHln11xqta62RbtzLQt5LKE /home/user/.ssh/key-rsa.priv (RSA)
user@local:~$ ssh server-key
Enter passphrase for key '/home/user/.ssh/key-rsa.priv':
✘ user@local:~$
ssh-agent
代理人
user@local:~$ eval $(ssh-agent)
Agent pid 3169
user@local:~$ echo $SSH_AGENT_PID
3169
user@local:~$ echo $SSH_AUTH_SOCK
/tmp/ssh-nqpXUUf2qNpT/agent.3168
user@local:~$ ssh-add -D
All identities removed.
user@local:~$ ssh-add ~/.ssh/key-rsa.priv
Enter passphrase for /home/user/.ssh/key-rsa.priv:
Identity added: /home/user/.ssh/key-rsa.priv (/home/user/.ssh/key-rsa.priv)
user@local:~$ ssh server-key
Enter passphrase for key '/home/user/.ssh/key-rsa.priv':
✘ user@local:~$
質問
ssh-agent
パスワードを要求しないようにするにはどうすればよいですか?- なぜこれがうまくいかないのか知っていますか?
私の問題は次のようになりますこの問題答えを読んだが、この解決策は私にとっては効果的ではなかった。
ベストアンサー1
IdentitiesOnly
これが機能するには、ローカルコンピュータに公開鍵が必要なようです。
ローカルコンピュータに公開鍵がない場合は、秘密鍵がプロキシにあり、もちろんリモートコンピュータに公開鍵がある場合でも、常にパスワードの入力を求められます。
公開鍵パスは追加された秘密鍵パスと同じです.pub
。