Ubuntu服务器SSH公网连接报错求助:Authenticator provider $SSH_SK_PROVIDER did not resolve
Ubuntu服务器SSH公网连接报错求助:Authenticator provider $SSH_SK_PROVIDER did not resolve
嘿,我来帮你梳理下这个问题~首先明确:你遇到的Authenticator provider $SSH_SK_PROVIDER did not resolve其实只是个警告,不是导致连接卡住的核心原因,先把这个顾虑放下,咱们重点排查真正的连接障碍。
先回顾下你的操作步骤:
- 给Ubuntu服务器配置了静态IP
- 在路由器上做了22端口的映射(外部22→内部服务器22)
- 使用命令
ssh user@router_ip -v尝试公网SSH连接,目前卡在了连接到router_ip的22端口这一步
核心排查步骤
测试公网端口是否可达
在你的Mac终端里执行这两个命令之一,验证路由器公网IP的22端口是否能被访问:telnet router_ip 22 # 或者用nc命令 nc -zv router_ip 22- 如果显示连接超时或者
Connection refused,说明要么端口映射没配对,要么运营商屏蔽了22端口,或者服务器防火墙拦截了请求 - 如果显示连接成功(比如telnet会弹出SSH版本信息),再往下排查服务器端问题
- 如果显示连接超时或者
检查Ubuntu服务器的SSH服务与防火墙
- 确认SSH服务是否正常运行:在Ubuntu服务器上执行
确保状态是systemctl status sshdactive (running),如果没启动就执行systemctl start sshd,再设置开机自启systemctl enable sshd - 检查防火墙是否允许22端口:用
ufw status查看规则,如果没有ALLOW Anywhere on 22/tcp的条目,执行
要是用的是iptables,就执行ufw allow ssh ufw reloadiptables -L -n | grep 22,确认存在ACCEPT规则
- 确认SSH服务是否正常运行:在Ubuntu服务器上执行
验证路由器端口映射的正确性
- 一定要确认映射的内部IP是Ubuntu服务器的静态IP,别填成路由器自身IP或者其他设备的IP
- 部分路由器需要手动启用端口转发功能(比如“虚拟服务器”开关),检查路由器后台设置
- 要是测试22端口不通,大概率是运营商屏蔽了22端口,建议把外部端口改成非22的端口(比如2222),映射到服务器的22端口,之后用命令
ssh user@router_ip -p 2222 -v尝试连接
关于$SSH_SK_PROVIDER警告的处理
这个警告是因为你的Mac SSH客户端尝试加载用于硬件安全密钥(比如YubiKey)的环境变量,但该变量未设置,完全不影响连接。要是看着不舒服,在Mac终端执行unset SSH_SK_PROVIDER再重新连接,就不会出现这个提示了。
附上你提供的调试日志:
OpenSSH_8.6p1, LibreSSL 3.3.6 debug1: Reading configuration data /Users/my-mac-user/.ssh/config debug1: Reading configuration data /Users/my-mac-user/.colima/ssh_config debug1: /Users/my-mac-user/.ssh/config line 15: Applying options for * debug1: Reading configuration data /etc/ssh/ssh_config debug1: /etc/ssh/ssh_config line 21: include /etc/ssh/ssh_config.d/* matched no files debug1: /etc/ssh/ssh_config line 54: Applying options for * debug1: Authenticator provider $SSH_SK_PROVIDER did not resolve; disabling debug1: Connecting to router_ip [router_ip] port 22.
备注:内容来源于stack exchange,提问作者PietroPutelli
相关产品推荐
相关产品推荐

