SSH协议详解+Xshell连接虚拟机+Xftp文件传输全流程 一、什么是SSH连接协议SSHSecure Shell安全外壳协议是一种建立在应用层的加密网络传输协议主要用于远程登录服务器/虚拟机、远程执行命令和安全文件传输。1.核心优势传统Telnet协议传输明文数据极易被窃听、篡改SSH通过非对称加密对称加密的组合方式对传输全程加密杜绝密码和数据泄露风险2.默认端口TCP 22端口3.常见衍生工具用于终端登录的Xshell、用于文件传输的Xftp基于SFTP子协议SFTP是SSH协议的扩展。二、Xshell连接虚拟机详细步骤一前期虚拟机端准备1.打开VMware/VirtualBox虚拟机将网络模式设置为桥接模式推荐物理机和虚拟机在同一局域网或NAT模式2.在Linux虚拟机终端输入 ip addr CentOS7/Ubuntu或 ifconfig 需先安装net-tools查看虚拟机内网IP3.确认SSH服务开启执行 sudo systemctl status sshd 若未启动则执行 sudo systemctl start sshd sudo systemctl enable sshd 开机自启4.关闭/放行防火墙CentOS sudo firewall-cmd --add-port22/tcp --permanent sudo firewall-cmd --reloadUbuntu sudo ufw allow 22 sudo ufw reload5.记录虚拟机登录用户名、密码、IP地址。二Xshell客户端操作1.打开Xshell点击「文件→新建」创建会话2.常规栏填写会话自定义名称、主机填写虚拟机IP、协议选择SSH、端口默认223.切换到「用户身份验证」填写虚拟机的用户名和登录密码4.点击「确定」保存会话双击会话名称发起连接出现终端提示符即连接成功。三、常见连接错误、原因与解决方案报错现象无法连接、超时/连接失败 根本原因1.虚拟机网络模式不对2.虚拟机未开机3.防火墙拦截22端口4.sshd服务未启动 解决方案1.切换桥接/NAT模式2.虚拟机保持开机3.放行22端口防火墙规则4.启动sshd并设置开机自启物理机ping虚拟机IP确认网络互通报错现象提示Access denied权限拒绝根本原因用户名/密码输错sshd禁止root远程登录解决方案1.核对账号密码2.修改 /etc/ssh/sshd_config 开启 PermitRootLogin yes 重启sshd服务报错现象能ping通但SSH连不上根本原因22端口被占用/sshd监听地址异常解决方案用netstat -tuln报错现象连接频繁断开根本原因虚拟机休眠Xshell超时设置太短解决方案关闭虚拟机休眠Xshell会话属性调整「保持活动间隔」为30秒四、过程结果截图参考说明1.虚拟机内 ip addr 查IP的终端截图2 .systemctl status sshd 查看SSH服务状态截图五、Xftp文件传输使用教程方式1独立打开Xftp连接1.打开Xftp点击「新建会话」协议选择SFTP默认走SSH 22端口2.填写虚拟机IP、端口22、登录用户名密码3.连接成功后左侧是Windows本地电脑文件目录右侧是虚拟机远程目录直接拖拽文件即可双向上传/下载。方式2Xshell一键唤起XftpXshell已经成功连接虚拟机后直接点击顶部工具栏的「Xftp图标」软件会自动复用当前会话信息一键打开SFTP传输窗口无需重复填写IP账号操作更便捷。补充细节上传本地文件拖到远程目录下载远程文件拖到本地目录权限不足时在虚拟机端修改目标文件夹权限 sudo chmod 777 目标文件夹路径 或切换root账号传输。