Ssh

通過 ssh 遠端登錄樹莓派伺服器

  • February 21, 2017

我在通過遠端 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 也可以提供此功能。

引用自:https://unix.stackexchange.com/questions/346451