Ubuntu虚拟机使用SSH远程控制的完整步骤
在开始前,请确保:
ubuntu)和密码。SSH服务(OpenSSH Server)是远程控制的核心组件,需先在虚拟机中安装并启动。
打开Ubuntu虚拟机的终端(快捷键Ctrl+Alt+T),依次执行以下命令:
sudo apt update          # 更新软件包列表
sudo apt install openssh-server  # 安装OpenSSH Server
安装过程中会自动处理依赖关系,无需额外操作。
安装完成后,执行以下命令启动SSH服务:
sudo systemctl start ssh  # 立即启动SSH服务
为确保虚拟机重启后SSH服务自动运行,需设置开机自启:
sudo systemctl enable ssh  # 开启开机自启
通过以下命令确认SSH服务是否正常运行:
sudo systemctl status ssh
若输出中显示active (running)(如● ssh.service - OpenBSD Secure Shell server),则说明SSH服务已成功启动。
要从主机或其他设备连接虚拟机,需获取其IP地址。在虚拟机终端中执行:
ip addr  # 或使用`ip a`(更简洁的输出)
在输出结果中,找到inet字段(通常对应eth0或ens33网卡),后面的数值即为IP地址(如inet 192.168.1.100/24,其中192.168.1.100就是需要的IP)。
根据主机操作系统不同,连接方式有所差异:
在主机终端中执行以下命令:
ssh 用户名@虚拟机IP地址
例如,若虚拟机IP为192.168.1.100,用户名为ubuntu,则命令为:
ssh ubuntu@192.168.1.100
yes并按回车;https://www.putty.org/);192.168.1.100);22(默认SSH端口),点击“Open”;为防止未经授权的访问,建议对SSH配置进行以下优化:
编辑SSH配置文件:
sudo nano /etc/ssh/sshd_config
找到#PermitRootLogin prohibit-password行,取消注释并将值改为no:
PermitRootLogin no
保存并退出(Ctrl+O→Enter→Ctrl+X),然后重启SSH服务:
sudo systemctl restart ssh
ssh-keygen -t rsa  # 生成RSA密钥对(默认保存在`~/.ssh/id_rsa`)
ssh-copy-id 用户名@虚拟机IP地址
例如:ssh-copy-id ubuntu@192.168.1.100
输入虚拟机密码后,公钥会自动添加到虚拟机的~/.ssh/authorized_keys文件中。/etc/ssh/sshd_config):
找到#PasswordAuthentication yes行,取消注释并将值改为no:PasswordAuthentication no
保存并重启SSH服务:sudo systemctl restart ssh
编辑/etc/ssh/sshd_config,找到#Port 22行,取消注释并修改为其他端口(如2222):
Port 2222
保存后重启SSH服务:
sudo systemctl restart ssh
注意:修改端口后,连接时需指定新端口(如ssh -p 2222 用户名@虚拟机IP地址)。
sudo systemctl status ssh(若未启动,执行sudo systemctl start ssh);sudo ufw allow ssh(Ubuntu默认使用UFW防火墙);在虚拟机终端中执行:
ip addr  # 或`hostname -I`(快速获取IP)
检查SSH服务是否设置开机自启:
sudo systemctl is-enabled ssh
若显示disabled,执行:
sudo systemctl enable ssh
通过以上步骤,即可实现Ubuntu虚拟机的SSH远程控制,满足日常运维、代码编辑等需求。