身份验证在 ngrok 上的 PuTTY 命令行中不起作用

Posted

技术标签:

【中文标题】身份验证在 ngrok 上的 PuTTY 命令行中不起作用【英文标题】:Authentication is not working from PuTTY command line on ngrok 【发布时间】:2016-09-12 04:29:15 【问题描述】:

我在家里设置了一个 Raspberry Pi 作为下载服务器。要从任何 Windows PC 访问它,我下载了 Putty 并将其父文件夹添加到 Path 环境变量中。 当使用 Putty GUI 或 CLI 从我的家庭网络上的任何 PC 通过 SSH 访问它时,它会尝试使用 SSH 密钥登录,如果失败,它会提示我输入密码,然后我可以登录。

我设置了一个 ngrok 帐户,以便能够从工作中访问服务器(ngrok 对所有用户使用相同的地址,但每个免费用户都有一个特定的端口,在服务器重新启动时随机分配)。 如果我打开Putty的GUI并添加地址(0.tcp.ngrok.io)和我的端口(13495)并单击打开,我正常登录,先SSH密钥,如果失败,密码提示,我可以登录;如下图所示:Putty GUI Login

但是,如果我从命令行使用“putty root@0.tcp.ngrok.io:13495”通过命令登录或使用该命令作为目标创建 Windows 快捷方式,它的反应就好像密码身份验证被禁用并且唯一的身份验证方法是通过 SSH 密钥,但事实并非如此。 (Failed Putty Logins)

我终于尝试将我的工作桌面的 SSH 密钥添加到 authorized_keys 文件中,没有任何改变。我可以通过 GUI 使用密钥登录,但 CLI 登录仍然失败。

我尝试重置所有 Putty 的设置,重新下载,使用 Pageant 而不是 Putty 设置 SSH>Auth,没有任何效果。

我进行了广泛搜索并深入研究了互联网的令人毛骨悚然的深度,但找不到任何有同样问题的人。如果有人确实找到了具有相同问题的帖子,那么该帖子一定会离我而去。 请帮帮我。 这开始变得很烦人。

提前致谢。

【问题讨论】:

【参考方案1】:

这是因为 PuTTY 实际上会忽略冒号后的所有内容(为了与 PuTTY psftp 和 pscp 工具保持一致,您可以在冒号后指定路径)。

所以putty root@0.tcp.ngrok.io:13495 的工作方式类似于putty root@0.tcp.ngrok.io。这意味着您实际上连接到默认的 SSH 22 端口,而不是 13495。

您必须使用-P 开关来指定非默认端口:

putty root@0.tcp.ngrok.io -P 13495

【讨论】:

该死的。我没想到会这么简单。腻子应该加一个/?命令行开关。但话又说回来,我应该在线查找 Putty 的命令行文档。非常感谢人

以上是关于身份验证在 ngrok 上的 PuTTY 命令行中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Ngrok 和 Meteor 的 Facebook 身份验证问题

如何使用 Ngrok 向网站添加密码

使用 PuTTY 进行身份验证时,“无法使用密钥文件“...\id_rsa”(OpenSSH SSH-2 私钥)”[关闭]

腻子 - 自动关闭身份验证[关闭]

通过 ngrok 连接时未设置 Cookie

应用程序身份验证 - 从命令行提取公共签名密钥