SSH协议详解 + Xshell连接Linux虚拟机 + Xftp文件传输实操排错全教程 一、什么是SSH连接协议SSHSecure Shell安全外壳协议是一种加密的远程登录协议默认端口22用于在不安全网络中安全远程管理服务器/虚拟机。核心作用替代明文传输的Telnet、FTP所有数据账号、密码、操作指令全程加密防止抓包窃取支持远程命令执行、文件传输、端口转发三大功能。两种工作模式SSH-2当前主流版本采用非对称加密RSA/ECC协商密钥对称加密传输数据分为客户端Xshell、Xftp、SecureCRT与服务端Linux系统自带sshd服务。配套工具分工XshellSSH命令行终端远程输入Linux指令Xftp基于SFTP/SSH协议的图形化文件传输工具上传下载文件。二、Xshell连接Linux虚拟机完整步骤前置准备虚拟机开机查看Linux内网IP执行 ip a记录ens33网卡inet地址如192.168.137.100关闭Linux防火墙或放行22端口确认sshd服务已启动 systemctl start sshd。操作步骤打开Xshell点击左上角「文件」→「新建」新建会话会话配置名称自定义CentOS虚拟机协议选择SSH主机填入虚拟机IP地址端口默认22左侧菜单栏切换「用户身份验证」选择「密码」输入Linux用户名、登录密码点击「连接」弹出主机密钥提示框选择「接受并保存」成功登录出现Linux命令行提示符即可输入指令操作虚拟机。三、连接过程常见报错、原因与解决方案报错现象根本原因解决办法无法连接提示连接超时1. 虚拟机与主机不在同一网段2. 虚拟机防火墙拦截22端口3. 虚拟机未开机1. 虚拟机网卡切换NAT模式重新获取IP2. 临时关闭防火墙systemctl stop firewalld3. 确认虚拟机正常运行拒绝连接Connection refusedLinux sshd服务未启动/未安装1. 安装sshyum install openssh-server2. 启动服务systemctl start sshd3. 设置开机自启systemctl enable sshd用户名/密码验证失败账号密码输入错误、root远程登录被限制1. 核对账号密码2. 修改sshd配置/etc/ssh/sshd_config开启PermitRootLogin yes重启sshd主机密钥冲突警告之前同IP连接过其他虚拟机密钥缓存不一致Xshell工具→清除主机密钥缓存重新连接确认密钥端口22无法访问云服务器安全组/虚拟机防火墙屏蔽22端口放行22端口防火墙规则云服务器添加安全组入站规则⚠️ 排错自检顺序虚拟机是否开机 → ping IP能否通 → sshd服务状态 → 防火墙端口放行 → 账号权限配置四、Xftp文件传输使用教程Xftp同样基于SSH/SFTP协议无需额外开放端口和Xshell共用22端口。新建会话打开Xftp → 新建协议选择SFTP主机填虚拟机IP端口22输入Linux账号密码文件传输操作上传本地电脑文件拖拽至右侧Linux目录下载Linux文件拖拽至左侧本地文件夹权限问题处理若提示权限不足两种方案传输至用户家目录 /home/用户名修改目标文件夹权限 chmod 777 /目标目录测试环境使用。