如何查找Linux机器的SSH访问地址以实现跨设备连接?
如何查找Linux机器的SSH访问地址以实现跨设备连接?
别担心,新手问这种问题太正常了!我刚接触开发的时候也在这卡过好一会儿,下面一步步给你讲清楚怎么找~
首先得明确:SSH访问地址的核心就是你的Linux机器的IP地址,再加上SSH服务的端口号(默认是22,如果你没改过的话可以不用特意写),格式一般是 用户名@IP地址 或者 用户名@IP地址:端口号(端口改动时用)。
场景1:同一局域网内连接(比如家里的另一台电脑连你的Linux机)
这种情况找局域网IP就行,有两个简单的方法:
- 打开Linux终端,输入命令
ip addr,回车后找对应网卡的条目(有线网卡通常是eth0,无线网卡是wlan0或者wlp2s0这类),里面inet后面的一串数字就是你的局域网IP,比如192.168.3.12。 - 更快捷的方式:直接在终端输入
hostname -I,回车后会直接显示你的局域网IP,一般输出里第一个就是可用的地址。
场景2:从外网连接(比如公司电脑连家里的Linux机)
这种情况需要找公网IP,还要额外做路由器设置:
- 查公网IP:在Linux终端输入
curl ifconfig.me(如果没装curl,也可以用wget -qO- ifconfig.me),回车后得到的就是你的公网IP,比如123.45.67.89。 - 注意:家庭宽带的公网IP大多是动态的,隔段时间会变,如果需要长期稳定连接,要么找运营商申请静态IP,要么用动态域名解析服务绑定IP。
- 必须做路由器端口转发:登录你的路由器后台,把路由器的22端口(或你修改后的SSH端口)转发到Linux机器的局域网IP对应的端口上,不然外网无法访问到你的Linux机。
额外注意事项
- 确认SSH服务已开启:在终端输入
systemctl status sshd(部分发行版是systemctl status ssh),如果显示未运行,用sudo systemctl start sshd启动,再用sudo systemctl enable sshd设置开机自启。 - 如果是Ubuntu、Debian这类系统,可能需要先安装SSH服务:输入
sudo apt install openssh-server完成安装。 - 连接示例:假设你的用户名是
tom,局域网IP是192.168.3.12,直接在另一台机器的终端输入ssh tom@192.168.3.12即可;如果端口改成了2222,就输ssh tom@192.168.3.12 -p 2222。
备注:内容来源于stack exchange,提问作者thatnewguy
相关产品推荐
相关产品推荐

