远程管理虚拟机的常见方式
在日常运维中,很多服务器都以虚拟机的形式运行。物理机放在机房,人却在办公室或家里,这时候就得靠远程手段来操作。最常见的就是通过远程桌面协议(RDP)和SSH登录。Windows虚拟机通常用RDP,Linux则基本靠SSH。
使用SSH连接Linux虚拟机
假设你在阿里云上有一台CentOS虚拟机,本地用的是Mac或Windows的WSL,打开终端直接输入:
ssh root@192.168.1.100
如果改过端口,记得加上-p参数:
ssh -p 2222 root@192.168.1.100
首次连接会提示确认指纹,输入yes就行。只要密码或密钥正确,马上就能进入系统。
密钥登录更安全
密码登录方便,但容易被暴力破解。建议配好SSH密钥对。生成后把公钥放进虚拟机的~/.ssh/authorized_keys文件里。之后本地用私钥登录,不用每次输密码,也更安全。
Windows虚拟机用RDP直连
如果是远程维护一台Windows Server虚拟机,开启远程桌面功能后,用系统自带的“远程桌面连接”工具输入IP地址即可。比如你公司的测试机在IDC机房,只要网络通,从家里也能连上去配置IIS或者看日志。
利用虚拟化平台自带控制台
有时候SSH连不上,可能是系统卡住或者网络配置出错。这时候可以登录VMware vSphere、Proxmox或者云厂商的Web控制台,使用“控制台(Console)”功能直接看到虚拟机屏幕,就像坐在本地显示器前操作一样。这个功能在修复启动问题时特别有用。
批量管理用脚本自动化
如果你手上有几十台虚拟机要更新软件包,一台一台登太累。可以用Ansible写个简单的playbook,通过SSH批量执行命令。比如:
- name: Update all packages
hosts: vm_servers
tasks:
- name: Run system update
apt: upgrade=yes update_cache=yes
when: ansible_os_family == "Debian"
一条命令跑完,所有Ubuntu虚拟机都完成系统更新。
注意网络和防火墙设置
远程管理的前提是网络通。确保虚拟机所在的安全组或防火墙放行了22(SSH)、3389(RDP)等端口。但别一股脑全开,只给运维人员的IP放行更稳妥。曾经有同事把RDP暴露在公网,结果半夜被挖矿程序占满CPU,查起来费老大劲。
临时访问用跳板机
为了安全,可以把一台小型虚拟机当作跳板机(Bastion Host)。所有远程连接先连跳板机,再从它去访问内网其他虚拟机。这样核心机器不需要直接暴露在公网,出了问题也容易追溯。