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
(将密码留空)并将其添加到主机并再次连接。