如何连接到 SSH 而不每次都要求输入密码? - 已经按照这里的一些答案操作,但它不起作用

如何连接到 SSH 而不每次都要求输入密码? - 已经按照这里的一些答案操作,但它不起作用

MAC OS X Lion 10.7.3

1)在主机上,我在 .ssh 文件夹中创建了一个 authorized_keys 文件,方法如下:

touch authorized_keys

2)我已将我的公共 ssh 密钥复制到主机 .ssh 文件夹中,方法如下:

scp ~/.ssh/mykey.pub [email protected]:/home/userhost/.ssh/mykey.pub

3)我将其内容放入授权文件中,方法如下:

cat mykey.pub >> authorized_keys

4)然后我删除了mykey.pub文件:

rm mykey.pub

5)在我的终端上,本地,在我的~/.ssh 文件夹中,我创建了:

ssh-add mykey

(请注意,它没有 pub 扩展名);

6)我已关闭并再次打开终端。

当我第一次连接到该主机时,它已被添加到已知主机文件在 ~/.ssh 里面;我已经有了,pico known_hosts并且哈希值就在那里。

尽管如此,每次我通过以下方式连接:ssh[电子邮件保护]它要求输入密码!

我在这里遗漏了什么?

更新:

我在这里甚至做了另外两件事:

7)将您的密钥设置为默认身份 - 如果不存在,则创建;

touch ~/.ssh/config

并将其放置在以下行内:

IdentityFile ~/.ssh/yourkeyname

id_rsa 通常是您的默认密钥。您应该切换到您的密钥。这表示传出的 ssh 连接应将其用作默认身份。

8)向您的 ssh-agent 添加一个 bash 进程:

ssh-agent bash

ssh-add ~/.ssh/yourkeyname

Lisinge 的回答很有帮助,但并不明确。如果我们重新启动机器,密码会再次提示!!!

我们如何调试它?我们能做什么?我们如何检查这个过程在哪里失败?

更新2:

如果我使用:

ssh -v -i <keyfile> [email protected]

我得到了以下东西:

OpenSSH_5.6p1,OpenSSL 0.9.8r 2011 年 2 月 8 日警告:无法访问身份文件 yourkeyname:没有此文件或目录。

此消息指的是什么?标识文件在本地主机上无法访问,还是在远程主机上无法访问?

请指教

答案1

您确定创建密钥时没有使用密码吗?

因为如果密钥是使用密码创建的,那么每次访问密钥时都必须输入密码。

尝试创建一个新密钥并按下enter(将密码留空)并将其添加到主机并再次连接。

相关内容