【发布时间】:2012-11-26 21:38:24
【问题描述】:
我正在尝试使用 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 文件夹不是在服务器上创建的,所以我必须自己创建。对可能发生的事情有任何想法吗?我错过了什么?还有其他设置密钥的方法吗?
【问题讨论】:
-
当您提到〜时,您在说什么用户?此外,更改密钥不需要重新启动 sshd...
-
@guillermog 请注意您未来问题的格式。它应该清晰易读,否则它只是一堵文字墙和一个开关。
-
@Blaskovicz 我使用的是 root 用户。
-
运行
ssh和-v可能会给你一些正在发生的事情的提示。