在Ubuntu命令端配置网络连接,你只需要编辑/etc/netplan下的YAML文件或直接用ip命令临时调整参数,然后应用配置即可;连接远程服务器则通过SSH协议一步到位。 无论你是运维新手还是老手,这篇文章都会用可复现的命令帮你搞定从静态IP配置到SSH免密登录的全流程。
ubuntu命令行配置网络连接的具体方法
在无图形界面的Ubuntu服务器上,配置网络全靠终端命令,2026年的主流Ubuntu版本(20.04/22.04/24.04)默认使用netplan管理网络,但ip命令依然是临时调整的利器,下面从两个维度拆解配置步骤。
使用netplan配置静态IP地址
先查看当前网卡名称,执行ip a,你会看到如eth0、ens33或enp1s0之类的接口名,记住这个名称,后续配置都围绕它进行。
接着进入netplan配置目录:
cd /etc/netplan/ ls
常见配置文件是01-netcfg.yaml或00-installer-config.yaml,用sudo nano或vim打开:
network:
version: 2
ethernets:
eth0:
dhcp4: no
addresses:
- 192.168.1.100/24
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses:
- 8.8.8.8
- 114.114.114.114
字段含义直白:dhcp4: no表示关闭DHCP,addresses指定内网IP,routes设置网关,nameservers配置DNS,保存退出后执行:
sudo netplan apply
如果报错,用sudo netplan try先测试,60秒内按回车确认,这一步是行业共识中最容易踩坑的地方YAML缩进必须严格对齐,否则配置不会生效。
使用ip命令进行临时网络调整
不需要持久化配置的场景下,ip命令更快捷,比如临时改IP:
sudo ip addr add 192.168.1.105/24 dev eth0 sudo ip route add default via 192.168.1.1
验证用ip a和ip route查看,注意这只是内存级改动,重启后失效,若想让DNS临时生效,编辑/etc/resolv.conf:
echo "nameserver 8.8.8.8" | sudo tee -a /etc/resolv.conf
但该文件可能被systemd-resolved接管,直接修改会保留到下次重启,业内专家指出,临时调整适合测试环境,生产服务器务必用netplan持久化配置。
网络配置验证与排错
配置完别急着走,按这套流程自检:
- ping网关:
ping -c 3 192.168.1.1,通则局域网没问题。 - ping外网:
ping -c 3 8.8.8.8,通则路由和DNS都正常。 - 排查DNS解析:
nslookup baidu.com,看返回结果。 - 查看接口状态:
ip -s link,观察丢包率。
丢包率较高时,检查网线、交换机端口或网卡驱动,多数情况下,重启网络服务能解决怪异问题:
sudo systemctl restart systemd-networkd
ubuntu终端连接远程服务器配置指南
配置好本地网络后,连接远程服务器是下一站,SSH是Linux运维的标配协议,几乎每个机房都开放22端口,下面从基本操作到免密登录逐一演示。
SSH连接服务器的基本操作
最简单的连接命令:
ssh 用户名@服务器IP -p 端口号
默认端口是22,可省略-p。
ssh root@192.168.1.200
首次连接会提示确认主机指纹,输入yes回车即可,密码验证成功后进入远程Shell,注意服务器安全组要放行对应端口,否则一直卡在Connection timed out。
如果服务器启用了密钥登录,密码验证会失败,此时需要先配置密钥对。
配置SSH免密登录
在本地生成密钥对:
ssh-keygen -t ed25519 -C "你的邮箱或备注"
按三次回车,默认保存到~/.ssh/id_ed25519,然后上传公钥到服务器:
ssh-copy-id -i ~/.ssh/id_ed25519.pub 用户名@服务器IP
输入一次密码后,公钥自动追加到服务器~/.ssh/authorized_keys,此后执行ssh 用户名@服务器IP直接登录,无需密码。
服务器端需要确认配置允许密钥认证,编辑/etc/ssh/sshd_config:
PubkeyAuthentication yes PasswordAuthentication no
改完重启SSH服务:
sudo systemctl restart sshd
注意:PasswordAuthentication设为no后,密码登录将被禁用,务必确保密钥可用再操作。 行业专家强调,远程配置期间保持一个已登录的SSH会话窗口,防止误改导致断连无法恢复。
断开与故障处理
断开会话用exit或快捷键Ctrl+D,遇到连接慢或超时,检查两个方向:
- 本地到服务器的路由:
traceroute 服务器IP,定位哪一跳延迟异常。 - 服务器防火墙状态:
sudo ufw status,确认22端口是否放行。
据统计,远程连接故障中60%以上是安全组和防火墙配置遗漏,先查这个再查网络。
不同Ubuntu版本的网络配置工具差异对比
Ubuntu 17.10及之后版本用netplan,之前的版本用/etc/network/interfaces,你在网上搜到旧教程时,注意辨别版本差异,下表直接对比:
| 配置方式 | 适用版本 | 配置文件 | 生效命令 | 特点描述 |
|---|---|---|---|---|
| netplan | Ubuntu 17.10+ | /etc/netplan/.yaml | sudo netplan apply | 基于YAML,支持渲染器NetworkManager或systemd-networkd |
| ifupdown | Ubuntu 16.04及更早 | /etc/network/interfaces | sudo ifup eth0 | 行内语法,简单直接,但版本陈旧 |
| systemd-networkd | 手动安装可用 | /etc/systemd/network/.network | sudo systemctl restart systemd-networkd | 无YAML层,适用极简环境 |
在ubuntu命令行配置网络连接时,先查版本:lsb_release -a,如果你还在维护老系统,别强上netplan,老老实实用旧工具。
使用NetworkManager命令行工具
部分桌面版Ubuntu预装NetworkManager,终端也能配置,查看连接列表:
nmcli connection show
修改静态IP:
nmcli con mod "Wired connection 1" ipv4.addresses 192.168.1.110/24 nmcli con mod "Wired connection 1" ipv4.gateway 192.168.1.1 nmcli con mod "Wired connection 1" ipv4.dns "8.8.8.8" nmcli con mod "Wired connection 1" ipv4.method manual nmcli con down "Wired connection 1" nmcli con up "Wired connection 1"
这套命令适合桌面环境跑服务器服务的情况,比netplan更灵活,但记住,netplan优先接管网络,二者不能同时启用,否则会冲突。
常用网络管理命令速查表
为方便日常维护,整理一份高频命令清单:
- 查看所有接口:
ip a - 查看路由表:
ip route - 测试远程端口:
nc -zv 服务器IP 22 - 抓包排查:
sudo tcpdump -i eth0 port 22 - 修改网卡MAC:
sudo ip link set eth0 address XX:XX:XX:XX:XX:XX - 临时关闭网卡:
sudo ip link set eth0 down - 恢复网卡:
sudo ip link set eth0 up - 动态获取IP:
sudo dhclient eth0(需安装isc-dhcp-client)
命令覆盖从配置到排错的80%场景,当你遇到“怎么配置网络连接服务器”的疑问时,先跑一遍ip a,观察现状再动手,比盲目复制教程高效得多。
ubuntu命令行配置网络连接常见问题解答
修改netplan后SSH断开了怎么办?
原因多半是你的SSH连接IP正是当前网卡上的地址,执行sudo netplan apply后IP变化,旧会话直接丢失,解决办法:使用sudo netplan try,它会等待120秒自动回滚,确认新IP可用再按回车,若已断连,用服务器管理面板的VNC或IPMI进入控制台,重新修改YAML配置恢复原IP。
连接远程服务器提示“Permission denied (publickey)”?
服务器未授权你的公钥,执行ssh-copy-id重新上传,或者检查authorized_keys文件权限,必须为600(chmod 600 ~/.ssh/authorized_keys),另一常见原因是本地私钥路径不对,用ssh -i ~/.ssh/某私钥文件 用户名@IP显式指定私钥。
为什么curl访问外网可通但ping不通?
有些云厂商禁ICMP协议,这是安全策略,不代表网络故障,改用curl -I https://baidu.com测试HTTP连通性,若HTTP正常,网络完全没问题;若不通,检查路由表是否只有默认网关,或DNS解析是否故障。
网络配置是Linux运维的地基,掌握命令端操作绝对不吃亏,记住核心流程:先看状态(ip a),再改配置(netplan或ip命令),最后验证路由与DNS,连接服务器时优先SSH密钥,并保持一个临时会话窗口防风险,这套方法覆盖ubuntu命令行配置网络连接的绝大多数需求,肯动手练习,比浓背教程强百倍。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/775177.html


