SSH协议基础详解

📅 2026/7/1 16:03:15
SSH协议基础详解
一、什么是SSH连接协议SSH全称Secure Shell即安全外壳协议是一套运行在应用层的加密远程访问协议专门用于在公共、不安全的网络环境中安全操控远程主机、虚拟机。1. 对比传统Telnet协议Telnet传输账号、密码、操作指令全部为明文极易被网络抓包窃取SSH采用非对称加密对称加密混合机制所有交互数据全程加密杜绝信息泄露。2. 基础参数SSH服务默认占用22端口远程连接前必须保证服务器防火墙放行该端口。3. 两大核心用途- 远程命令行操控借助Xshell、SecureCRT等工具登录终端执行Linux指令- 加密文件传输依托SFTP子协议搭配Xftp工具完成本地与虚拟机文件互传。4. 两种身份验证模式密码登录简单易上手适合学习环境、密钥对免密登录生产环境高安全方案。二、Xshell连接Linux虚拟机完整操作步骤前置环境准备虚拟机内操作1. 查看虚拟机IP地址打开Linux终端输入命令 ip a 复制ens33网卡对应的inet地址如192.168.137.120。2. 确认SSH服务正常运行- 查看运行状态 systemctl status sshd- 未启动则执行 systemctl start sshd- 设置开机自动启动 systemctl enable sshd3. 放行防火墙22端口避免拦截连接请求- 临时关闭防火墙仅课堂测试使用 systemctl stop firewalld- 永久开放22端口plaintextfirewall-cmd --add-port22/tcp --permanentfirewall-cmd --reloadXshell客户端操作流程1. 启动Xshell软件点击顶部菜单栏「文件」选择「新建」创建连接会话。2. 在弹出的会话配置窗口填写基础信息自定义会话名称、协议选择SSH、主机处粘贴虚拟机IP、端口保持默认22。3. 切换左侧「用户身份验证」选项卡认证方式选择Password填写虚拟机登录用户名与对应密码。4. 点击窗口下方「连接」首次连接会弹出主机密钥确认弹窗选择接受并保存密钥。5. 弹窗消失后出现Linux命令行提示符代表虚拟机SSH连接成功可正常输入指令操作。三、实操过程常见错误、原因与解决方案1. 报错连接被拒绝无法建立会话产生原因虚拟机sshd服务未启动防火墙拦截22端口IP地址输入错误。解决方法先执行命令启动ssh服务放行防火墙22端口重新用 ip a 核对虚拟机IP同时在Windows cmd中ping该IP验证连通性。2. 报错密码输入后提示认证失败产生原因用户名或密码大小写输入错误ssh配置禁止密码登录。解决方法仔细核对账号密码修改配置文件 /etc/ssh/sshd_config 将 PasswordAuthentication 设置为yes保存后重启sshd服务。3. 报错连接超时长时间无响应产生原因虚拟机网卡模式异常宿主机与虚拟机不在同一网段虚拟机未开机。解决方法将虚拟机网卡切换为NAT或桥接模式确认虚拟机正常开机ping虚拟机IP网络连通后再重新连接。4. 报错主机密钥不匹配安全警告产生原因虚拟机重装系统、IP重复分配本地保存的旧主机指纹失效冲突。解决方法右键对应会话打开属性进入安全设置删除原有主机密钥重新发起连接并保存新密钥。5. 报错终端中文显示乱码产生原因Xshell终端编码与Linux系统编码不一致。解决方法会话属性-终端中将编码修改为UTF-8虚拟机终端执行 LANGen_US.UTF-8 统一系统编码。四、Xftp加密传输文件操作教程Xftp是和Xshell配套的SFTP文件传输工具复用SSH的22端口无需额外开放端口传输文件全程加密。1. 创建传输会话打开Xftp软件点击「新建」会话参数和Xshell完全一致填写虚拟机IP、端口22、登录用户名与密码保存会话配置。2. 文件双向传输两种方式- 拖拽传输软件左侧是Windows本地文件目录右侧是Linux虚拟机目录直接拖拽文件或文件夹即可完成上传、下载- 右键菜单传输选中本地文件右键点击「上传」发送至虚拟机选中虚拟机内文件右键点击「下载」保存到本地电脑。3. 传输权限异常处理若无法向/root等系统目录写入文件优先使用普通用户账号登录测试环境可在虚拟机执行 chmod 777 文件夹名称 放开目标目录读写权限。4. 附加功能支持批量文件传输、断点续传、本地与虚拟机文件夹同步适合大量文件交互场景。