无法通过SSH连接到远程服务器(需要公钥)

所以我被赋予了访问ssh服务器的权限。 我有用户名/密码,但服务器显然需要一个公钥(现在请记住,我是ssh中的菜鸟)。 当我做:

ssh -p 52 user@server.com 

终端说Permission denied (publickey) 。 所以我去了

 ssh-keygen -t rsa 

并获得了/root/.sshid_rsaid_rsa.pub files 。 chmoded /root/.ssh到700和/root/.ssh/*到600.再次尝试sshing server.com,同样的错误。

我错过了什么? 我已经获得了server.com的SYSADMIN的Putty Pagant密钥文件(.ppk)。 显然,其他用户(所有Windows)都可以使用Putty Pagant.exe进行连接。 请帮忙 :)

如果sysadmin给你.ppk文件,你可以使用puttygen创建ssh密钥文件(从软件中心安装putty-tools)

http://blog.padraigkitterick.com/2007/09/16/using-putty-ssh-keys-with-openssh-on-ubuntu也有,这里有一些mac指令也应该工作http://leadingedgescripts.co .UK /服务器管理/如何对转换-您的腻子,PPK-私钥到一个正常-SSH密钥-您无限的use-on-AN-苹果MAC /

注意运行命令时

 puttygen /path/to/puttykey.ppk -O private-openssh -o ~/.ssh/id_rsa 

(它可能要求密码来解密密钥)你应该以用户的身份运行它,它将进行ssh连接,以便将密钥存储在正确的目录中(〜符号相当于当前用户的主目录)然后检查chmod权限是否正确,你可以使用

 ssh -p 52 user@server.com 

这个问题的答案可能会对你有所帮助。 通常,为了能够使用公钥认证,您必须先将私钥复制到另一台服务器; 所以,除非系统管理员给你一个已经在服务器上的公钥/私钥对,否则你将无法用它登录。

 ssh-keygen (press enter enter enter till you get the image) user@ubuntu1:~$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/user/.ssh/id_rsa): /home/user/.ssh/id_rsa already exists. Overwrite (y/n)? y Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/user/.ssh/id_rsa. Your public key has been saved in /home/user/.ssh/id_rsa.pub. The key fingerprint is: 5e:80:dd:36:0f:00:b6:58:bc:ae:a4:87:c8:bd:c1:f8 user@ubuntu1 The key's randomart image is: +--[ RSA 2048]----+ | .+.. | | +.+ o | | . oo = | | . o + | | . S . . | | o . .. . | |.o.* . . | |..+.+ | | E. | +-----------------+ ssh-copy-id -i user@server.com. 

您将看到以下内容

(一旦它要求输入密码)

 user@ubuntu1:~$ ssh-copy-id -i root@ip root@ip's password: 

现在尝试使用“ssh’root @ ip’”登录计算机,然后检入:

  ~/.ssh/authorized_keys 

确保我们没有添加您不期望的额外密钥。

  • 现在你应该能够在不要求密码的情况下执行ssh
  • 亲爱的,你做得很好但是失去了精力,有两个步骤,无论如何,感谢这个好主意,我刚过来。

     ssh-keygen -t rsa ssh-keygen -t dsa cd /root/.ssh/ cp **** /etc/ssh/ 

    现在替换4个相应的文件