一、什么是SSH连接协议📌
1. 定义:SSH(Secure Shell,安全外壳协议)是一种建立在应用层的加密远程登录协议,用于安全地远程管理服务器/虚拟机,替代明文传输的Telnet协议。
2. 核心优势
全程加密:用户名、密码、传输数据均经过非对称+对称混合加密,防止抓包窃取;
支持多种认证:密码登录、密钥免密登录;
拓展功能:除远程终端外,还可实现SFTP文件传输、端口转发。
3. 工作端口
默认使用22端口,Linux系统openssh-server提供SSH服务。
二、Xshell连接Linux虚拟机完整操作步骤
前置准备
1. 虚拟机开机,查看Linux网卡IP( ip a / ifconfig );
2. 虚拟机网卡模式改为桥接模式(与主机同一局域网,互通IP);
3. Linux安装并启动ssh服务:
Xshell操作步骤
1. 打开Xshell,点击左上角【文件】→【新建】;
2. 会话属性配置:
名称:自定义(如CentOS7虚拟机)
协议:选择 SSH
主机:填写虚拟机IP地址
端口号:默认22
3. 点击左侧【用户身份验证】,选择密码认证,输入Linux用户名、密码;
4. 点击【确定】保存会话,双击会话名称发起连接;
5. 连接成功后出现Linux命令行终端,即可执行操作。
三、连接常见错误、原因与解决方案⚠
问题一:无法连接,连接超时
原因:1. 虚拟机与主机不在同一网段 2. 虚拟机防火墙拦截22端口 3. 网卡NAT模式未配置端口转发 方案:1. 虚拟机切换桥接模式,重新查看IP 2. 临时关闭防火墙: systemctl stop firewalld 3. NAT模式下配置VMware端口转发规则
问题二:拒绝访问/Connection refused 原因:1. Linux未安装ssh服务 2. sshd服务未启动 3. ssh配置文件禁止root登录
方案:1. 安装openssh-server并启动服务 2. 执行 systemctl start sshd 3. 修改 /etc/ssh/sshd_config 开启PermitRootLogin
问题三:用户名密码验证失败
原因:账号密码输入错误;ssh禁止当前用户登录
方案:核对账号密码;修改sshd配置放行登录用户,重启sshd
问题四:主机密钥冲突警告
原因:重装虚拟机后IP不变,本地保存旧主机密钥
方案:Xshell弹窗选择删除原有密钥,重新连接接受新密钥
问题五:卡顿、频繁断连
原因:虚拟机网络不稳定;ssh空闲超时配置
方案:修改sshd_config延长超时时间;切换稳定桥接网络
四、Xftp文件传输使用教程💡
Xftp配套Xshell使用,基于SSH的SFTP协议安全传输文件,无需额外开启FTP服务:
方式1:关联Xshell会话一键打开
1. Xshell连接虚拟机成功后,顶部工具栏点击【Xftp图标】,自动同步会话登录;
2. 左侧为本机Windows文件目录,右侧为Linux虚拟机根目录;
3. 拖拽文件:
Windows→Linux:左侧选中文件,拖拽至右侧文件夹(上传)
Linux→Windows:右侧文件拖拽至左侧文件夹(下载)
方式2:新建独立Xftp会话
1. 打开Xftp→【文件】→【新建】;
2. 协议选择 SFTP ,主机填虚拟机IP,端口22;
3. 输入Linux账号密码,连接后即可双向传输文件。
补充功能:
(1)批量上传/下载:多选文件拖拽;
(2)权限修改:右键Linux文件,修改chmod读写权限;
(3)断点续传:大文件传输中断后可恢复。
五、过程截图