如何使用-i选项执行SSH并绕过密码input

使用ssh,我想访问

Machine1 --> Machine2 

假设Machine2的IP地址为:133.165.14.22。

我已经从Machine1复制id_rsa.pub Machine2然后在Machine2我已经这样做了:

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

但是当我试图从Machine1执行SSH时

 ssh -i /Users/neversaint/.ssh/id_rsa [email protected] 

它仍然要求input密码。

 [email protected]'s password: 

我怎样才能正确地做到这一点,所以它不会要求密码?

ssh-copy-id第一次input密码,这将把正确的键放在正确的地方。

如果您没有密钥,请生成一个新的ssh-keygen

检查位于/etc/ssh/sshd_config Machine2中的SSH守护程序configuration文件,并检查以下字段是否存在:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys

同时检查并确保authorized_keys文件只能由您读取/写入:
chmod 0600 ~/.ssh/authorized_keys

注意:如果您对conf文件进行了任何编辑,请重新启动SSH守护进程:
sudo service ssh restart