我目前正在努力上班ssh-agent
。无论我在做什么,我都无法绕过密码提示。
为了测试我什至尝试连接到本地主机:
ssh-keygen
生成id_rsa
ssh-add id_rsa
在 .ssh 文件夹中ssh-add -l
显示正确的指纹ssh user@localhost
仍然要求我输入密码eval $(ssh-agent -s)
显示进程正在运行
在使用 ssh-agent 之前还需要配置什么吗?我用多台机器和用户以及 RSA 和 DSA 密钥进行了尝试。
顺便说一句,我正在使用 Debian 7。
如果有人能给我提示,我的问题可能出在哪里,我将不胜感激。
答案1
您生成了一个ssh
密钥。仅此并不能启用公钥身份验证,您还需要将公钥添加到~/.ssh/authorized_keys
远程计算机上的文件中,添加到您要登录的帐户。最简单的方法是ssh-copy-id
:
ssh-copy-id hostname
或者
ssh-copy-id username@hostname
如果远程主机上的用户名与当前计算机上的用户名不同。这将要求您输入远程计算机上的密码。
答案2
您对 .ssh 和 .ssh/authorized_keys 文件夹/文件拥有正确的权限吗?根据您的 SSH 服务器配置,可能需要严格的权限。还要确保所有权正确。
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys