ssh
我需要通过外部网络访问计算机。
必须可以使用 ssh 密钥访问电脑~/.ssh/id_rsa
,我不确定如何连接。
我设置了一些 NAT(我不知道是否有必要),这些是我的路由器的字段:
Ip address: <local_ip> (of the pc with which I will try to connect)
Protocol: TCP/IP
External port: 22 - 22
Internal port: 22 - 22
我试过:
ssh user@<public_ip>:22 (immediately) ---> Name or service not known
ssh user@<public_ip> (some time) ----> Connection timed out
ssh
使用的命令是什么?我需要NAT吗?我还需要别的东西吗?
是否可以ssh
从我的家庭网络访问具有公共连接(通过 )的电脑?
答案1
您需要的是以下内容:
正如“derobert”建议的那样,首先确保您的 ISP 不会阻止端口 22 的传入连接。
您需要将端口 (22) 转发到目标计算机(您希望从外部网络通过 SSH 访问的计算机)。通常这称为
port forwarding
orport mapping
,简单的 google 搜索应该会揭示如何做到这一点。之后,您可以尝试连接到您的机器:
ssh -vv -p 端口用户@public_ip
-vv
将启用详细输出,以便您可以看到幕后发生的事情。
目前,当您尝试通过 SSH 访问您的公共 IP 时,路由器会响应端口 22(并且大多数家庭路由器没有 SSH 服务器来满足自身的 SSH 请求)。