我正在使用 ubuntu 系统通过 ssh 登录远程服务器。我的系统中配置了 SSH,我可以看到我的公共 ssh 密钥,但是当我尝试类似操作时,ssh xx.xx.xx.xx
它会抛出错误“权限被拒绝(公钥)”。
对于我尝试访问的 IP 地址,ssh 用户名没有ec5-user
任何密码。
使用之前,我是否必须在 ubuntu 终端中切换到该用户ssh xx.xx.xx.xx
?使用 putty,我能够从 windows 系统登录。
如果我这样做ssh-keygen -lf ~/.ssh/id_rsa.pub
,它会产生类似
2048 aa:b5:51:76:de:42:12:78:a1:ff:9e:74:d8:7d:59:24 amit@amit-Inspiron-N5010 (RSA)
答案1
检查.ssh文件夹权限(运行ls -laR ~/.ssh
):
.ssh 文件夹应该有 700,而私钥 600,公钥可以有 644。
此外,你可以通过完整的调试日志获取有关运行 ssh 的问题的更多信息
ssh -vvv ...
答案2
答案3
如果上述评论正确,您确实得到了Could not resolve hostname
,这意味着 Ubuntu 不知道如何找到您给它的主机名。您可以通过 IP 地址登录吗?
如果使用 IP 地址工作正常,但您在连接主机名时遇到问题(错误似乎表明了这一点),您可以修改文件/etc/hosts
以包含您尝试连接的节点。只需输入您想要绑定的主机名和 IP 地址,如下所示:
例子
127.0.0.1 localhost
192.168.1.10 foo.mydomain.org foo
192.168.1.13 bar.mydomain.org bar
146.82.138.7 master.debian.org master
209.237.226.90 www.opensource.org
条目的字段由任意数量的空格和/或制表符分隔。从“#”字符到行尾的文本是注释,将被忽略。主机名只能包含字母数字字符、减号(“-”)和句点(“。”)。它们必须以字母字符开头并以字母数字字符结尾。可选别名提供名称更改、替代拼写、较短的主机名或通用主机名(例如 localhost)。
来源:http://manpages.ubuntu.com/manpages/lucid/man5/hosts.5.html