如何用Xshell连接虚拟机Linux系统?

要通过Xshell连接虚拟机中的Linux系统,需完成虚拟机网络配置、Linux SSH服务开启、Xshell客户端设置及连接测试等步骤,以下是详细操作流程:

xshell如何连接虚拟机linux

准备工作:虚拟机与Linux系统配置

虚拟机网络模式设置

虚拟机需确保与宿主机(运行Xshell的电脑)网络互通,推荐使用NAT模式桥接模式

  • NAT模式(默认):虚拟机通过宿主机共享网络,IP由虚拟机DHCP自动分配,适合局域网环境。
  • 桥接模式:虚拟机直接连接外部网络,与宿主机处于同一网段,需手动配置IP或使用DHCP。

操作步骤(以VMware为例)

  • 打开虚拟机设置,选择“网络适配器”,勾选“NAT模式”或“桥接模式”,保存后重启虚拟机。

Linux系统获取IP地址

虚拟机启动后,需确认Linux系统的IP地址(后续Xshell连接需用到):

  • 自动获取IP(DHCP):执行命令 ip addrifconfig,查看enp0s3(网卡名称可能不同)下的inet地址,例如168.1.100
  • 手动配置IP(静态):若需固定IP,编辑/etc/network/interfaces(Ubuntu)或/etc/sysconfig/network-scripts/ifcfg-ens33(CentOS),配置IPADDRNETMASKGATEWAY等参数,重启网络服务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
  • 启动并设置开机自启
    systemctl start sshd          # 启动SSH服务
    systemctl enable sshd        # 设置开机自启

Xshell客户端安装与连接配置

下载并安装Xshell

  • 官网下载:访问Xshell官网,下载“Xshell 7”免费版,安装过程一路“下一步”即可,无需特殊配置。

新建Xshell会话

  • 打开Xshell,点击工具栏“新建”按钮,或按快捷键Ctrl+N

    xshell如何连接虚拟机linux

  • 填写基本信息(以下为关键参数):

    • 名称:自定义会话名称(如“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/目录):

xshell如何连接虚拟机linux

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

  1. 重启虚拟机,在GRUB引导界面按e进入编辑模式;
  2. 找到linuxlinux16行,在末尾添加rd.break,按Ctrl+X启动;
  3. 系统进入紧急模式,执行以下命令重置密码:
    mount -o remount,rw /sysroot   # 重新挂载根目录
    chroot /sysroot                # 切换到根环境
    passwd username                # 修改指定用户密码(username为用户名)
    touch /.autorelabel             # 标记需重新 SELinux 标签(可选)
    exit                           # 退出chroot
    reboot                         # 重启系统

Q2:Xshell连接后中文显示乱码怎么办?

A

  1. 在Xshell会话中,右键选择“属性→终端→编码”,选择“UTF-8”;
  2. 若仍乱码,检查Linux系统语言环境,执行echo $LANG,确保为en_US.UTF-8zh_CN.UTF-8,若不是,可通过export LANG=en_US.UTF-8临时设置,或修改/etc/locale.conf文件永久生效。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/31641.html

(0)
酷番叔酷番叔
上一篇 2025年9月28日 06:26
下一篇 2025年9月28日 06:39

相关推荐

  • Linux系统中如何显示用户名和密码?密码是否可以直接获取并显示?

    在Linux系统中,用户名和密码的管理涉及安全性与权限控制,由于密码通常以加密形式存储,直接“显示密码”在正常操作中并不被允许(除非是用户主动输入或特定授权场景),本文将详细说明Linux中如何查看用户名、理解密码存储机制,以及在合法合规的前提下处理密码相关操作,Linux中用户名的显示方法用户名是Linux系……

    2025年9月19日
    2300
  • Linux系统如何重启备份服务?操作步骤详解及方法指导

    Linux备份服务是保障数据安全的核心组件,定期重启可避免因长时间运行导致的内存泄漏、进程僵死或配置不生效等问题,但需规范操作以避免数据丢失或服务中断,本文将从重启前的准备工作、通用重启方法、常见备份服务的具体操作及问题排查四方面,详细说明Linux环境下如何安全重启备份服务,重启前的准备工作在执行重启操作前……

    2025年9月9日
    2700
  • Linux环境下如何彻底卸载JDK并清理所有残留配置文件?

    在Linux系统中卸载JDK(Java Development Kit)需要根据安装方式选择不同的方法,通常分为通过包管理器安装和手动编译安装两种情况,卸载前需确认当前JDK版本及安装路径,避免误删其他软件依赖的Java环境,以下是详细卸载步骤及注意事项,卸载前检查确认JDK版本执行以下命令查看当前系统安装的J……

    2025年8月29日
    3100
  • Linux创建文件系统如何避免数据丢失?

    准备工作识别目标设备使用 lsblk 或 fdisk -l 命令查看所有存储设备:sudo lsblk # 显示设备树状结构(推荐)sudo fdisk -l # 列出所有磁盘及分区确认目标设备名称(如 /dev/sdb、/dev/nvme0n1p2),备份数据若目标设备有数据,必须提前备份:sudo rsyn……

    2025年7月29日
    3300
  • Linux如何放行端口?防火墙规则配置步骤有哪些?

    在Linux系统中,放行端口是确保网络服务(如Web服务、数据库、SSH等)能够正常访问的关键操作,由于不同Linux发行版默认使用的防火墙工具不同(如CentOS/RHEL常用firewalld,Ubuntu/Debian常用iptables或ufw),且云服务器(如AWS、阿里云)还需额外配置安全组,因此需……

    2025年10月7日
    1600

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信