【发布时间】:2025-12-07 11:15:02
【问题描述】:
我正在尝试使用 ngrok 从互联网上的远程计算机通过 SSH(公钥身份验证)连接到 Windows 用户。 但显然不起作用。
这是我所做的。
我在 windows 上安装并激活了 SSH。
Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
我生成了公钥文件并发送到远程机器上 ssh。
ssh-keygen
我在 SSH 设置文件“C:\ProgramData\ssh\sshd_config”中更改/添加了以下行
PermitRootLogin yes
AllowUsers otheruser
PubkeyAuthentication yes
PasswordAuthentication no
我重新启动了 ssh 服务器以应用设置更改。
net stop sshd ; net start sshd
我安装了 ngrok 并运行了 ngrok
./ngrok tcp 22
# got "6.tcp.ngrok.io:25252"
我尝试从远程机器 ssh 到 windows 机器,使用“tmp”密钥文件给用户“tmp”。
ssh -i "C:\pg\.ssh\tmp" tmp@6.tcp.ngrok.io -p 25252
失败了。
ssh -i "C:\pg\.ssh\tmp" tmp@6.tcp.ngrok.io -p 25252
Enter passphrase for key 'C:\pg\.ssh\tmp':
tmp@6.tcp.ngrok.io: Permission denied (publickey,keyboard-interactive).
【问题讨论】: