使用 Ubuntu 终端进行 SSH 登录-权限被拒绝(公钥)

使用 Ubuntu 终端进行 SSH 登录-权限被拒绝(公钥)

我正在使用 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

您正在尝试通过 ssh 连接到[电子邮件保护]好的,ssh 的工作方式如下:

ssh xxx.xxx.xxx.xxx = ssh [我的用户名]@xxx.xxx.xxx.xxx

远程控制[电子邮件保护]= ssh[电子邮件保护]

因此,您要么需要使用相同的用户名登录,要么需要指定您要尝试 ssh 连接的用户名。

答案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

相关内容