使用SSH密钥连接到远程Centos服务器

gui*_*mog 7 ssh openssh ssh-keys

我正在尝试使用SSH密钥连接到Centos 6.3服务器,因此我可以远程运行脚本,而无需每次都要求输入密码.我遵循了以下说明:

  1. 使用正常的ssh命令和密码登录服务器一次,以便服务器将您的计算机添加到已知主机
  2. 在您的计算机上使用cygwin-terminal生成密钥并将密码保留为空白:ssh-keygen -t rsa
  3. 现在设置私钥和ssh文件夹的权限:chmod 700 ~/.ssh & chmod 600 ~/.ssh/id_rsa
  4. 将公钥(id_rsa.pub)复制到服务器,登录到服务器并将公钥添加到authorized_keys列表: cat id_rsa.pub >> ~/.ssh/authorized_keys
  5. 导入公钥后,可以从服务器中删除它.在服务器上设置文件权限:chmod 700 ~/.ssh & chmod 600 ~/.ssh/authorized_keys
  6. 在服务器上重新启动ssh守护程序: service sshd restart
  7. 测试计算机的连接:ssh root@198.61.220.107

但是当我尝试ssh到远程服务器时,它仍然要求我输入密码..ssh文件夹未在服务器上创建,因此我必须自己创建.关于可能发生什么的任何想法?我错过了什么?有没有其他方法来设置密钥?

gui*_*mog 4

事实证明,/root当我设置服务器时,我愚蠢地更改了目录的所有者,因此由于这是/.ssh我尝试使用(root)登录的用户的目录所在的位置,因此它拒绝访问该目录,因为它属于给另一个用户。

Dec 10 16:25:49 thyme sshd[9121]: Authentication refused: bad ownership or modes for directory /root
Run Code Online (Sandbox Code Playgroud)

我将所有者更改回 root,然后就完成了。

chown root /root
Run Code Online (Sandbox Code Playgroud)

谢谢你们的帮助。