
我正在嘗試從另一台電腦透過 SSH 連接我的家庭電腦。在進入命令列之前,我需要知道我的 IP 位址。但我越來越困惑了。如果我使用 ifconfig,我會得到 eth0 的“inet”數位負載。如果我造訪數十個「測試您的 IP」網站中的任何一個,它們都會指向一個實際上是我的 ISP 位址的位址。那麼當我想使用SSH時該使用什麼呢?
我正在使用Linux。
答案1
您從“test your ip”網站獲得的地址是您的公用 IP 位址。這是讓您在網路上獨一無二的地址。該位址很可能已指派給您的路由器。您的電腦、筆記型電腦等的 IP 位址是內部的IP 位址,唯一的你的網絡,而非互聯網。
如果您想從其他位置透過 SSH 連接到您的家庭計算機,則需要您的公共 IP 位址並在路由器上啟用連接埠轉送(用於 SSH 的連接埠 22)到您的 PC內部的地址。請查看路由器手冊以了解如何執行此操作。
請注意,您的公用 IP 由 ISP 分配,很可能是由 DHCP 分配的。這意味著IP位址可以更改恕不另行通知,儘管可能性不大。
答案2
因此,來自 Linux 命令列的 ifconfig 將為您提供一些您需要的資訊:
eth0 Link encap:Ethernet HWaddr 00:e0:52:90:a0:6e
inet addr:192.168.100.4 Bcast:192.168.100.255 Mask:255.255.255.0
inet6 addr: fe80::2e0:52ff:fe90:a06e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2739429 errors:0 dropped:0 overruns:0 frame:0
TX packets:95275 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1104760995 (1.1 GB) TX bytes:7946649 (7.9 MB)
Interrupt:17 Base address:0x8c00
eth0 是您的第一個乙太網路轉接器 [可能是您唯一的轉接器]。下面的第二行顯示 inet addr [我的範例顯示 192.168.100.4]。如果您使用一種更流行的家庭路由器來共享您的互聯網連接,您的路由器可能會是 192.168.1.x。如果您想從家裡的另一台計算機連接到這台計算機,則應使用此 IP 位址。如果您想從網際網路連接到這台機器,您需要設定路由器以將連接埠 22 對應到此 IP 位址 [在我的範例中為 192.168.1.x]。無論哪種方式,如果您要定期透過 ssh 登入計算機,則應為其設定靜態 IP 位址,可以透過 DHCP 租用保留,也可以在電腦本身中設定靜態 IP 位址。如果您在電腦中設定靜態 IP,請確保它超出路由器用於 dhcp 租用的範圍。