SSH 权限被拒绝(使用正确的密码)

SSH 权限被拒绝(使用正确的密码)

我在设置两台笔记本电脑之间的 ssh 连接时遇到了麻烦。我尝试了网上发布的不同解决方案,但都不起作用。由于我对 SSH 还很陌生,我可能错过了一些重要的东西。我在客户端上使用 Ubuntu 14.04 LTS,在服务器上使用 Ubuntu 16.04 LTS。

以下是我遵循的步骤:

在客户端上

  • ~/.ssh/config 中指定的主机配置选项:

    主机 [主机名]

      User [username]
      Hostname [IP address of host]
      ServerAliveInterval 10
    
  • 通过运行生成 RSA 密钥:

ssh-keygen -t rsa -b 4096 -o -a 100

  • 我向 ssh-keygen 提供了密码。私钥保存在 ~/.ssh/id_rsa 中,而公钥保存在 ~/.ssh/id_rsa.pub 中

  • 我手动将 ~/.ssh/id_rsa.pub 复制到 USB 密钥。

  • 此时文件模式如下:

在 ~/.ssh 中:

   -rw-rw-r--    config
   -rw-------    id_rsa
   -rw-r--r--    id_rsa.pub

在服务器上:

  • 安装了 openssh 服务器;

  • 通过执行以下操作创建一个新文件 ~/.ssh/authorized_keys

猫/media/daniele/disk/id_rsa.pub>>~/.ssh/authorized_keys

  • 将 ~/.ssh/authorized_keys 的文件模式设置为

-rw-rw-r--

  • 手动编辑 /etc/ssh/sshd_config 以使其具有

在 /etc/ssh/sshd_config 中

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile     %h/.ssh/authorized_keys
PasswordAuthentication yes

最后在客户端上,当我尝试:

ssh [username]@[hostname]

服务器要求输入密码

[username]@[hostname]'s password:

但是,即使我输入正确的,服务器也不会接受它:

Permission denied, please try again

尝试三次后,它会关闭连接。请查找这里通过使用我得到的更具描述性的输出

ssh -v -v -v [username]@[hostname]

任何帮助将不胜感激。

非常感谢您的宝贵时间

答案1

不要使用服务器的主机名,尝试使用 ip 地址。
我在设置服务器时遇到了同样的问题,这似乎解决了问题。

ssh [username]@[host_ip-adres]

如果您想使用主机名,您可能需要设置一个 DNS 服务器。
但您也可以不用它。

答案2

您应该决定是否要通过密钥/ID 或密码进行连接身份验证,然后重点关注该问题以查找问题。我建议使用密钥/ID,因为如果管理得当,这是更安全的方法

SSH 总是会要求输入密码,即使在无法正常工作的情况下也是如此。为了避免这种情况,请使用-o 'batchmode yes'(这些引号是必需的)在建立连接的客户端 ssh 命令上。然后,如果无法接受密钥,它将绕过密码提示(这通常用于在需要避免卡在密码提示处的脚本中使用 ssh)。SSH 一次只会尝试 3 个密钥,因此如果有效密钥是第 4 个,则不会尝试,并且连接将中止。如果您确定它是正确的密钥,最好每次连接尝试只尝试一个密钥。然后,您可以在服务器上进行更改时重复连接尝试。从服务器获取日志文件信息会有所帮助。做grep sshd /var/log/auth.log看看 sshd 试图告诉您什么。

答案3

您可以尝试将您的用户添加到/etc/ssh/sshd_config

...
AllowUsers ... <username>
...

答案4

如果您没有将您的私钥(没有.pub 的私钥)加载到 ssh-agent 中,那么您需要在 ssh 连接中指定它。

SSH -i ~/.ssh/id_rsa user@host

看起来它不是要求你输入 ssh 密钥密码,而是要求你输入用户密码,这就是你的密码失败的原因

相关内容