无法通过SSH连接到远程服务器(需要公钥)
所以我被赋予了访问ssh服务器的权限。 我有用户名/密码,但服务器显然需要一个公钥(现在请记住,我是ssh中的菜鸟)。 当我做:
ssh -p 52 user@server.com
终端说Permission denied (publickey)
。 所以我去了
ssh-keygen -t rsa
并获得了/root/.ssh
的id_rsa
和id_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个相应的文件