我可以通过 SSH 连接到本地 IP 地址来进入我的远程 Ubuntu 18.04 设备,但是无法通过连接到我的外部 IP 来执行相同操作(编辑:从我的本地网络内部)。
我尝试过的事情:
- 端口转发。它是打开的(使用 DD-WRT),使用你可以看到我吗。当我尝试连接到错误的端口时,我会收到“连接被拒绝”的提示,而如果我连接到正确的 IP,我会收到“操作超时”的提示,所以我认为端口转发正确。
- 尝试不同的端口。
- 检查防火墙。默认防火墙 (
ufw
) 已禁用。 - 检查
lsof
- 它显示 sshd 正在监听正确的端口(IPv4 和 IPv6、根、TCP)。 - 重新启动/重启 sshd 服务
- 多种不同的
/etc/ssh/sshd_config
设置。当前:
Port 3020
PermitRootLogin prohibit-password
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM yes
GatewayPorts yes
X11Forwarding yes
PrintMotd no
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
X11Forwarding yes
AllowAgentForwarding yes
PermitRootLogin yes
Banner /etc/banner
编辑:
% ssh [email protected] -p 3020 -vvv
OpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n 7 Dec 2017
debug1: Reading configuration data /home/joep/.ssh/config
debug1: /home/joep/.ssh/config line 1: Applying options for *
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: resolving "xxx.xxx.xxx.xxx" port 3020
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to xxx.xxx.xxx.xxx [xxx.xxx.xxx.xxx] port 3020.
编辑 2:显然,它有效,但只有当我的客户外部网络。