Debian 虚拟机使用 SSH 的完整步骤
一 准备工作
- 在虚拟机中安装并启动 OpenSSH 服务器,确保服务开机自启,并确认 SSH 端口为 22 处于监听状态。
- 获取虚拟机的 IP 地址(如
ip a 或 hostname -I),并确保宿主机与虚拟机之间网络可达(同一局域网或端口转发已配置)。
- 若启用了防火墙(如 UFW),放行 SSH 服务或端口 22。
二 在 Debian 虚拟机上安装与启动 SSH 服务
- 更新索引并安装服务:
- sudo apt update
- sudo apt install openssh-server
- 启动并设置开机自启:
- sudo systemctl start ssh
- sudo systemctl enable ssh
- 检查运行状态与监听端口:
- sudo systemctl status ssh
- 正常应看到 “active (running)” 且监听 0.0.0.0:22 与 :::22。
三 网络与防火墙设置
- 同一局域网直连(推荐):
- 确认虚拟机与宿主机在同一网段,使用虚拟机的 IP 直接连接。
- NAT 网络端口转发(常见于家庭/办公网络):
- 在虚拟化平台(如 VirtualBox)将宿主机的某个端口(如 2222)转发到虚拟机的 22 端口;连接时使用
ssh -p 2222 user@127.0.0.1。
- 防火墙放行:
- UFW:sudo ufw allow ssh(或 sudo ufw allow 22/tcp)
- firewalld:sudo firewall-cmd --permanent --add-service=ssh && sudo firewall-cmd --reload。
四 从宿主机连接与常用操作
- Linux/macOS 终端:
- 基本连接:ssh username@虚拟机IP
- 指定端口:ssh -p 2222 username@127.0.0.1(NAT 转发场景)
- 远程执行命令:ssh username@IP ‘ls -l /var/www’
- Windows:
- 使用 PuTTY,输入虚拟机 IP 与端口 22(或宿主机的 2222)进行连接。
- 文件传输:
- 上传:scp localfile username@IP:/remote/path
- 下载:scp username@IP:/remote/path localfile。
五 安全加固与常见问题
- 安全加固建议:
- 修改默认端口:编辑 /etc/ssh/sshd_config 的
Port 2222,重启服务;连接时用 -p 2222。
- 禁用密码登录,仅用密钥:设置
PasswordAuthentication no,并确保 PubkeyAuthentication yes 与 AuthorizedKeysFile .ssh/authorized_keys 正确;重启服务。
- 限制可登录用户:在
sshd_config 添加 AllowUsers youruser。
- 防暴力破解:安装并启用 Fail2Ban(Debian 可
sudo apt install fail2ban)。
- 常见问题排查:
- 服务未运行:sudo systemctl restart ssh
- 端口未放行:检查 UFW/firewalld 与虚拟化平台端口转发规则
- 连接被拒绝/超时:核对 IP、端口、NAT 转发是否正确,以及虚拟机网卡是否为 桥接/NAT 且已获取 IP。