1

我正在尝试对自己进行 ssh(我在本地开发机器上运行 ansible)。我希望能够在不提示输入密码的情况下对自己进行 ssh。

所以...

我跑了:

ssh-keygen -t rsa

当提示输入密码时,将其留空

ssh-copy-id 127.0.0.1

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

chmod og-wx ~/.ssh/authorized_keys

ssh-add

然后当我运行 ssh 127.0.0.1 时,它提示我输入密码!有没有搞错?也抛出了这个错误:

sign_and_send_pubkey: signing failed: agent refused operation

所以我检查了: sign_and_send_pubkey:签名失败:代理拒绝操作

它说运行 ssh-add -l 我做了,我得到了结果。

此外, ~/.ssh 是 700 该目录的内容是 600

使用 ssh 时如何避免提示输入密码?

4

2 回答 2

0

这是答案... H/T @maulinglawns 在https://unix.stackexchange.com/questions/313106/how-do-i-stop-using-ssh-agent

这不是 ssh-copy-id 问题。

这是一个侏儒问题。如果您从桌面打开终端,就会发生我提到的问题。如果您使用 tty,那么它会按预期工作。

要摆脱 gnome 对 ssh 代理的影响,请执行以下操作:

mkdir -p ~/.config/autostart
cp /etc/xdg/autostart/gnome-keyring-ssh.desktop ~/.config/autostart/ &&
printf '%s\n' 'Hidden=true' >> ~/.config/autostart/gnome-keyring-ssh.desktop 
于 2018-07-02T21:12:55.530 回答
-1

当您尝试执行以下操作时是否会提示密码:

SSH 127.0.0.1?

如果是,则 .pub 键未正确添加。!您应该再次尝试使用以下方法复制 id_rsa.pub 密钥:

ssh-copy-id 127.0.0.1

上面的命令将提示您输入密码,一旦您输入正确的密码,它将允许下次尝试无密码登录。

于 2018-07-02T17:55:23.360 回答