使用 SSH 密钥对访问 sFTP 时“找不到连接 ID 的密码”

使用 SSH 密钥对访问 sFTP 时“找不到连接 ID 的密码”

我正在尝试使用 MacOS 上的 ForkLift 3 访问公司的 sFTP。我使用终端和以下命令创建了一个 openSSH 密钥对:

$ ssh-keygen -t rsa

在终端中,我选择在密钥对中包含密码。我将密钥对保存到默认位置 (Users/user/.ssh/)。然后,我将 id_rsa.pub 密钥发送给云团队,他们将其放到我尝试访问的服务器上。

我的同事遵循了相同的程序,访问 sFTP 时没有遇到任何问题。不同之处在于他们使用的是 Windows,使用 WinSCP 和 PuTTYgen 生成的 PuTTY (.ppk) 密钥集。我使用的是 MacOS、ForkLift 3 和终端内生成的非 .ppk 格式的密钥对,不过云团队表示这根本不是问题。

在收到确认我的公钥(id_rsa.pub)文件确实位于我尝试访问的服务器上后,我现在使用 ForkLift 3 尝试连接,并使用正确的服务器名称、用户、私钥文件(id_rsa)和密码,但每次都会收到此错误:

2021-11-05 09:00:53.528 AskPassTool[67797:1017626] 找不到连接 ID 的密码:23645924-DE18-467A-BAEF-5BDB33936DD3

2021-11-05 09:00:53.641 AskPassTool[67798:1017634] 找不到连接 ID 的密码:23645924-DE18-467A-BAEF-5BDB33936DD3

2021-11-05 09:00:53.750 AskPassTool[67799:1017640] 找不到连接 ID 的密码:23645924-DE18-467A-BAEF-5BDB33936DD3

2021-11-05 09:00:56.024 AskPassTool[67802:1017664] 找不到连接 ID 的密码:23645924-DE18-467A-BAEF-5BDB33936DD3

用户@服务器:权限被拒绝(公钥、gssapi-keyex、gssapi-with->mic、密码、键盘交互)。

我无论如何也想不出哪里出了问题,为什么无法连接。我使用的凭证与我的同事一样,他们都能成功登录,但我使用的密钥对不同(我们都使用同一个用户名来访问服务器)并且密钥对上附加了密码。

我该如何解决这个问题?我不太熟悉命令行,但已经仔细阅读了 StackOverflow 文章并尝试了以下方法,但无济于事:

  1. 查看 /etc/ssh/ssh_config 文件以确保 PasswordAuthentication 设置为“是”(确实如此)
  2. 检查了我的公钥(id_rsa.pub)、私钥(id_rsa)和 /.ssh/ 中的 known_hosts 文件的权限
  3. 删除known_hosts文件

由于我是公司中唯一使用 MacOS 的人,因此我无法从内部获取有关如何使用不同软件(Windows WinSCP 与 MacOS ForkLift 3)和样式密钥对(.ppk 与 openSSH)连接到 sFTP 的帮助。

有人能帮我检查一下吗?!我快疯了!

提前感谢您帮助我学习。

答案1

ForkLift 也遇到了同样的问题。由于我的 ssh 密钥不需要密码,因此我用 删除了它ssh-keygen -p。然后 ForkLift 就可以连接了。

相关内容