我通常这样做:
scp 某用户@ip
但是,那是因为我的其他服务器有一个 IP。
我的笔记本电脑的 IP 是多少?(如果我在无线路由器后面怎么办?)如何通过 scp 进入我的笔记本电脑?
答案1
您的无线路由器会为您的笔记本电脑和所有其他无线设备创建一个专用网络,以共享一个 IP 地址。您的 ISP 为您提供的 IP 可能会不时更改,但大多数情况下不会更改太多。
当您的路由器从互联网收到对端口 22 的请求时,它会阻止该请求,因为路由器不知道将请求发送到哪台计算机。但如果您告诉它,它可以将端口转发到特定计算机,即您的笔记本电脑。
因此,您通常可以通过将浏览器指向 192.168.0.1(或 1.1)并查找包含端口转发字样的部分来访问路由器设置。告诉它将端口 22 转发到您的笔记本电脑的 IP 地址。(您可以通过 ifconfig 获取地址)。
使用类似的网站whatismyip.com找出 ISP 提供给您的面向公众的地址,然后使用公共 IP 地址通过 SSH 连接到您的笔记本电脑。
如果您只想要临时连接,您可以使用您的 Web 服务器通过 openssh 反弹到您的本地计算机的连接,如下所示:
ssh server-user@server-ip -R2222:localhost:22
只要该连接(从您的笔记本电脑到您的服务器)是打开的,那么您就可以使用以下方式连接到您的笔记本电脑:
ssh laptop-user@server-ip -p 2222
答案2
您后面的无线路由器可能正在执行网络地址解读。这意味着您的笔记本电脑是不可路由的内部 IP,如192.168.1.3
。您可以在笔记本电脑上运行来查看这一点ifconfig
,假设您正在运行 Linux,如您的标签所示。
您的路由器既有 NAT 网络上的内部 IP,也有更大的 Internet 可见的外部 IP。为了使用 ssh 从 Internet 连接到端口 22 上的笔记本电脑,您需要设置路由器以将端口 22 的流量转发到笔记本电脑的内部 IP。这可以通过使用路由器设置的 Web 界面来完成,通常打开浏览器,输入类似http://192.168.1.1,http://192.168.0.1等,具体取决于您的内部网络设置。然后,您只需从外部机器使用 ssh/scp 连接到路由器的外部 IP,流量就会转发到您的笔记本电脑。
答案3
要查找笔记本电脑的 IP,请ifconfig
从终端应用程序启动(从技术上讲,这是您应该在 shell 命令提示符下输入的命令)。要查找您在线的 IP,
- 如果你位于 NAT/路由器后面,你可以检查路由器状态/配置
- 你可以尝试此链接
然而,这并不能保证您可以从远程站点执行 scp 到您的笔记本电脑。事实上,
- 你的笔记本电脑必须有一个 ssh 服务器在监听,并且
- ssh 服务器监听的 TCP 端口(通常是端口 22)应该可以从外部访问;这意味着,如果您位于 nat/路由器后面,则需要配置路由器以将该端口重定向(或“转发”)到您的笔记本电脑的 IP 地址。
事情可能比这更复杂。下次请清楚地说明您的操作系统是什么、您需要做什么、提供示例,如果可能的话,详细说明您执行了哪些步骤以及为什么不起作用。