我正在尝试使用 SSH 密钥连接到 Centos 6.3 服务器,这样我就可以远程运行脚本,而无需每次都要求输入密码。我已按照以下说明进行操作:
- 使用普通的 ssh 命令和密码登录服务器一次,以便服务器将您的计算机添加到已知主机
- 在您的计算机中使用 cygwin-terminal 生成密钥并将密码留空:
ssh-keygen -t rsa
- 现在设置您的私钥和 ssh 文件夹的权限:
chmod 700 ~/.ssh & chmod 600 ~/.ssh/id_rsa
- 将公钥(id_rsa.pub)复制到服务器,登录服务器并将公钥添加到authorized_keys列表中:
cat id_rsa.pub >> ~/.ssh/authorized_keys
- 导入公钥后,您可以将其从服务器中删除。在服务器上设置文件权限:
chmod 700 ~/.ssh & chmod 600 ~/.ssh/authorized_keys
- 重启服务器上的 ssh 守护进程:
service sshd restart
- 从您的计算机测试连接:
ssh root@198.61.220.107
但是当我尝试 ssh 到远程服务器时,它仍然要求我输入密码。.ssh 文件夹不是在服务器上创建的,所以我必须自己创建。对可能发生的事情有任何想法吗?我错过了什么?还有另一种设置密钥的方法吗?