一、安装OpenSSH服务器
在Ubuntu虚拟机上,SSH服务由openssh-server软件包提供。首先通过以下命令更新软件包列表并安装:
sudo apt update
sudo apt install openssh-server
安装过程会自动处理依赖,无需额外操作。
二、启动并设置SSH服务开机自启
安装完成后,需启动SSH服务并配置为开机自动启动,确保虚拟机重启后仍能远程连接:
sudo systemctl start ssh # 启动SSH服务
sudo systemctl enable ssh # 设置开机自启
可通过以下命令验证服务状态(显示active (running)表示成功):
sudo systemctl status ssh
三、获取虚拟机IP地址
远程连接需知道虚拟机的IP地址。在Ubuntu虚拟机终端中执行以下命令:
ip addr show
或简化命令快速查看:
hostname -I
输出中找到类似inet 192.168.x.x的地址(通常属于eth0或ens33网卡),即为虚拟机的局域网IP。
四、配置SSH服务(可选但推荐)
默认配置可能存在安全风险,建议根据需求调整/etc/ssh/sshd_config文件(需管理员权限):
sudo nano /etc/ssh/sshd_config
常见优化项:
Port 22改为其他端口(如Port 2222),减少被扫描攻击的概率;PermitRootLogin yes改为PermitRootLogin no,避免直接以root用户远程登录;PasswordAuthentication yes(允许密码登录,若用密钥则设为no);AllowUsers your_username@your_local_ip,仅允许指定IP的用户连接。修改完成后,重启SSH服务使配置生效:
sudo systemctl restart ssh
五、配置防火墙(可选但推荐)
若虚拟机启用了ufw防火墙,需允许SSH流量通过(默认端口22,若修改了端口需对应调整):
sudo ufw allow ssh # 允许默认SSH端口(22)
# 或指定自定义端口(如2222)
sudo ufw allow 2222/tcp
可通过以下命令验证防火墙规则:
sudo ufw status
六、从主机远程连接Ubuntu虚拟机
推荐使用MobaXterm或PuTTY工具:
虚拟机IP→“Port”输入22(或自定义端口)→点击“Open”→输入用户名和密码登录。直接使用终端执行以下命令(将username替换为虚拟机用户名,virtual_machine_ip替换为虚拟机IP):
ssh username@virtual_machine_ip
首次连接时,系统会提示“是否继续连接”,输入yes并按回车,然后输入密码即可。
七、常见问题排查
连接失败,提示“Connection refused”:
① 检查SSH服务是否启动(sudo systemctl status ssh);
② 确认防火墙是否允许SSH流量(sudo ufw status);
③ 验证虚拟机IP地址是否正确(ip addr show)。
虚拟机重启后无法连接:
检查SSH服务是否设置为开机自启(sudo systemctl is-enabled ssh),若未启用则执行sudo systemctl enable ssh。