要通过Xshell连接虚拟机中的Linux系统,需完成虚拟机网络配置、Linux SSH服务开启、Xshell客户端设置及连接测试等步骤,以下是详细操作流程:
准备工作:虚拟机与Linux系统配置
虚拟机网络模式设置
虚拟机需确保与宿主机(运行Xshell的电脑)网络互通,推荐使用NAT模式或桥接模式:
- NAT模式(默认):虚拟机通过宿主机共享网络,IP由虚拟机DHCP自动分配,适合局域网环境。
- 桥接模式:虚拟机直接连接外部网络,与宿主机处于同一网段,需手动配置IP或使用DHCP。
操作步骤(以VMware为例):
- 打开虚拟机设置,选择“网络适配器”,勾选“NAT模式”或“桥接模式”,保存后重启虚拟机。
Linux系统获取IP地址
虚拟机启动后,需确认Linux系统的IP地址(后续Xshell连接需用到):
- 自动获取IP(DHCP):执行命令
ip addr
或ifconfig
,查看enp0s3
(网卡名称可能不同)下的inet
地址,例如168.1.100
。 - 手动配置IP(静态):若需固定IP,编辑
/etc/network/interfaces
(Ubuntu)或/etc/sysconfig/network-scripts/ifcfg-ens33
(CentOS),配置IPADDR
、NETMASK
、GATEWAY
等参数,重启网络服务systemctl restart networking
。
开启Linux的SSH服务
Xshell通过SSH协议连接Linux,需确保SSH服务已安装并启动:
- 检查SSH服务状态:执行
systemctl status sshd
(CentOS/Ubuntu 18+)或/etc/init.d/sshd status
(旧版)。 - 安装SSH服务(若未安装):
- CentOS:
yum install openssh-server -y
- Ubuntu:
apt install openssh-server -y
- CentOS:
- 启动并设置开机自启:
systemctl start sshd # 启动SSH服务 systemctl enable sshd # 设置开机自启
Xshell客户端安装与连接配置
下载并安装Xshell
- 官网下载:访问Xshell官网,下载“Xshell 7”免费版,安装过程一路“下一步”即可,无需特殊配置。
新建Xshell会话
-
打开Xshell,点击工具栏“新建”按钮,或按快捷键
Ctrl+N
。 -
填写基本信息(以下为关键参数):
- 名称:自定义会话名称(如“CentOS虚拟机”)。
- 协议:默认“SSH”。
- 主机:输入Linux虚拟机的IP地址(如
168.1.100
)。 - 端口:默认SSH端口为
22
,若Linux修改过SSH端口,需填写对应端口。 - 用户身份验证:选择“密码”,输入Linux系统的用户名(如
root
或普通用户名
)和密码;若后续使用密钥认证,此处需选择“公钥”。
-
保存会话:点击“确定”,会话会出现在Xshell左侧“会话”列表中,双击会话即可连接。
首次连接注意事项
- 安全警告:首次连接时,Xshell会提示“主机密钥未验证”,点击“接受并保存”即可。
- 连接测试:成功连接后,终端会显示Linux系统信息(如
[root@localhost ~]#
),表示连接成功。
常见问题与解决方法
以下是连接过程中可能遇到的问题及对应的解决方案:
问题现象 | 可能原因 | 解决方法 |
---|---|---|
连接超时/无法连接 | 虚拟机IP错误、网络不通 | 检查虚拟机IP是否正确(ip addr );宿主机ping虚拟机IP( ping 192.168.1.100 ),若不通,检查虚拟机网络模式或防火墙。 |
SSH服务未启动 | Linux未开启SSH服务 | 执行systemctl start sshd 并设置开机自启。 |
用户名/密码错误 | 输入的用户名或密码不正确 | 确认Linux系统用户名(whoami )和密码,区分大小写。 |
端口被占用/SSH端口非默认 | Linux SSH服务端口被修改(如2222) | 在Xshell会话中填写修改后的端口(如2222),并检查Linux防火墙是否开放该端口。 |
防火墙阻止连接 | Linux防火墙拦截SSH端口 | 关闭防火墙(systemctl stop firewalld )或开放SSH端口(firewall-cmd --add-port=22/tcp --permanent )。 |
高级配置:密钥认证(更安全)
相比密码认证,SSH密钥认证更安全,可避免密码泄露风险,配置步骤如下:
在Linux生成密钥对
执行命令ssh-keygen -t rsa
,一路回车即可生成密钥(默认保存在~/.ssh/
目录):
ssh-keygen -t rsa -b 4096 # 生成4096位RSA密钥
生成后,目录下会生成id_rsa
(私钥,需保密)和id_rsa.pub
(公钥,需上传到服务器)。
上传公钥到Linux追加到~/.ssh/authorized_keys
文件:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys # 追加公钥 chmod 600 ~/.ssh/authorized_keys # 设置文件权限(仅所有者可读写)
Xshell配置密钥认证
- 在Xshell会话属性中,选择“用户身份验证”→“方法”改为“public key”。
- 点击“浏览”,选择Linux生成的
id_rsa
私钥文件(需提前通过Xftp等工具将私钥复制到宿主机)。 - 保存会话后重新连接,无需输入密码即可登录。
会话管理与优化
- 保存会话:Xshell会自动保存会话信息,也可手动点击“文件→属性”修改配置(如设置窗口颜色、字体大小、快捷键等)。
- 多标签操作:支持同时打开多个会话标签,方便管理多台虚拟机。
- 文件传输:结合Xftp工具(同开发商),可直接在Xshell中调用Xftp进行文件上传/下载。
相关问答FAQs
Q1:忘记Linux用户密码怎么办?
A:
- 重启虚拟机,在GRUB引导界面按
e
进入编辑模式; - 找到
linux
或linux16
行,在末尾添加rd.break
,按Ctrl+X
启动; - 系统进入紧急模式,执行以下命令重置密码:
mount -o remount,rw /sysroot # 重新挂载根目录 chroot /sysroot # 切换到根环境 passwd username # 修改指定用户密码(username为用户名) touch /.autorelabel # 标记需重新 SELinux 标签(可选) exit # 退出chroot reboot # 重启系统
Q2:Xshell连接后中文显示乱码怎么办?
A:
- 在Xshell会话中,右键选择“属性→终端→编码”,选择“UTF-8”;
- 若仍乱码,检查Linux系统语言环境,执行
echo $LANG
,确保为en_US.UTF-8
或zh_CN.UTF-8
,若不是,可通过export LANG=en_US.UTF-8
临时设置,或修改/etc/locale.conf
文件永久生效。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/31641.html