Ssh
通過 ssh 遠端登錄樹莓派伺服器
我在通過遠端 IP 地址通過 ssh 登錄到我的 Raspberry Pi 伺服器時遇到了很大的麻煩。
目前我可以通過命令登錄網路
$ ssh pi@192.168.2.25
。其中 192.168.2.25 是本地 IP 地址。但是,每當我嘗試使用命令通過遠端伺服器連接到我的 Raspberry Pi 時,$ ssh pi@<external ip address> -p port number
我都無法連接。筆記
- 我在我的路由器(Bell Home Hub 2000)埠 22 和 10747 上啟動了埠轉發。下面是我的設置範例(注意外部和內部埠是相同的)。
- 我還安裝並執行了No-Ip DUC,但我無法通過
$ ssh pi@<hostname.ddns.net> -p port number
其中任何一個登錄。ping 也失敗,ping <hostname.ddns.net>
並且ping <external ip address>
有 100% 的封包遺失。請注意,我只嘗試在仍在家庭 Intranet 網路中時使用外部 IP 地址進行連接。- 我嘗試按照此處和此處的說明進行操作。但兩者都沒有幫助我解決我的問題。
- Raspberry Pi 已連接到 Internet(apt-get 和 Web 瀏覽器工作)。目前,我的 Raspberry Pi 通過Pi-hole充當 DNS 伺服器,但我計劃在可以遠端工作後擴展功能。
附加資訊
路由表
$ sudo route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.2.1 0.0.0.0 UG 202 0 0 eth0 192.168.2.0 0.0.0.0 255.255.255.0 U 202 0 0 eth0
Linux 發行版
$ lsb_release -a No LSB modules are available. Distributor ID: Raspbian Description: Raspbian GNU/Linux 8.0 (jessie) Release: 8.0 Codename: jessie
啟用的埠
/etc/ssh/sshd_config
# What ports, IPs and protocols we listen for Port 22 Port 10474
打開埠檢查工具的埠掃描結果:
如果需要任何其他資訊,請告訴我要執行的命令。
有些路由器不允許您使用外部 IP 地址。也就是說,他們不會讓您發送信號“出”然後再“入”。
您可以通過從不同的網路連接到您的家庭盒子來測試這一點。如果這在物理上很困難,那麼您可以嘗試通過 VPN 連接,這應該會產生類似的結果。(如果您沒有帳戶,Mullvad 會提供大約 3 小時的免費帳戶,我想。)
只需將客戶端連接到 VPN,不要觸摸路由器。本質上,您通過 VPN 伺服器將“普通”電腦連接到網路,該伺服器通過外部網路路由來自該電腦的所有流量。然後信號“從外部”接近您的家庭網路,因此您可以排除任何內部網異常。
如果您真的想通過內部網使用外部 IP 地址,那麼您需要調查支持“NAT 環回”的路由器。話雖如此,在我的家庭伺服器上(通過其外部 IP)進行跟踪路由似乎連接到我的 ISP 節點,然後回到我的房子。這表明您的 ISP 也可以提供此功能。