
平时连服务器最烦的就是在终端和文件工具之间来回切换终端用 Xshell 或 Tabby传文件又得打开 FileZilla偶尔还要开一个网页版控制台查状态。Electerm 这个跨平台工具把 SSH 终端和 SFTP 文件传输合在同一个界面里折腾完服务器之后我基本把它当主力客户端用了。这篇按我自己的使用流程把下载安装、创建连接、密钥登录、文件传输、常见连接故障排查全部过一遍适合刚准备接入 Electerm 的读者也适合已经在用但想解决认证失败、连不上、断连丢进程这类问题的老手。1. 为什么把主力 SSH 客户端换成 Electerm1.1 SSH 工具选型到底在选什么很多人在选 SSH 工具时只关注“连得上连不上”但实际上日常运维中真正决定效率的是连接稳定、密钥管理、文件传输、多会话切换这些细节。我见过有人同时开着三个工具处理一台服务器一个终端窗口敲命令、一个 SFTP 窗口拖文件、一个记事本记操作清单手忙脚乱不说还容易搞混目录。我自己的选型标准比较朴素第一协议兼容性要稳SSH、SFTP、Telnet 都要支持不能今天连 Linux 服务器明天连交换机就要换工具第二文件传输最好内置不用单独挂一个 SFTP 客户端第三会话管理要顺手开多台服务器时分屏、标签、书签一个都不能少第四跨平台工作机是 Windows家里是 macOS换系统后配置能迁移。Electerm 恰好在这几个维度上都踩中了。它是 GitHub 上的开源项目Windows、macOS、Linux 通吃SSH 终端、SFTP、书签、待办事项一应俱全。开箱即用的体验比一堆老牌工具更贴近现代使用习惯这也是我把它从“试一下”变成“主力”的原因。1.2 Electerm 与 Xshell、FinalShell、Tabby 的横向对比Xshell 在 Windows 运维圈的地位不用多说但它只支持 Windows换到 Mac 就抓瞎。FinalShell 集成了监控和文件管理界面信息密度比较高免费版够用但偶尔会被杀毒软件误报而且整个工具偏重低配机跑起来有点吃力。Tabby 界面现代、插件生态丰富但文件传输入口藏得深有朋友第一次用它找半天没看到 SFTP 面板。Electerm 的优势在于把终端和文件管理平级排布连接服务器后左侧是远程文件树右侧是终端鼠标拖拽就能上传下载。对比下来它的核心竞争力其实是“轻量且什么都带”不需要折腾插件就能完成绝大多数运维动作。工具跨平台内置 SFTP分屏/多标签待办事项开源Xshell仅 Windows需配套 Xftp支持无否FinalShell支持支持支持无部分Tabby支持需配置支持无是Electerm支持支持支持有是Electerm 这个待办事项功能在运维场景里其实挺实用记到服务器维护周期、误删文件后的恢复步骤单开一个面板就能边做事边记省得再开笔记软件。2. 从下载到第一次连上远程服务器2.1 下载安装与版本选择Electerm 的安装包在 GitHub Releases 页面能直接找到Windows 版本有 exe 安装包和免安装压缩包两种。我建议用安装包因为右键菜单和文件关联会注册得更完整后续用起来顺手。macOS 版本用 dmg 或者通过 Homebrew 装都可以。这里提醒一句它的正式版更新频率比较快如果不是为了新功能不必每个版本都追挑一个稳定版用着就行。安装完第一次启动界面默认是全英文在菜单栏的 Settings 里能找到语言选项切到中文。界面结构比较简单左侧是书签导航中间是会话窗口右侧的侧边栏可以切出文件、历史记录和待办事项。初次使用者不需要改太多配置保持默认就能开始建连接。2.2 新建连接主机、端口、认证方式首次连接服务器的流程非常直观别被那一堆按钮吓住其实只要填对几个关键字段。我按自己的习惯把步骤拆出来点击窗口左上角的“新建”按钮选择“书签”进入连接配置页。主机地址填 IP 或域名比如 192.168.1.100 或 server.example.com端口保持默认的 22除非服务器改了端口。用户名填登录账号这里最容易出错很多云主机默认创建的是 ubuntu、centos、ecs-user 这类账户不是 root填错会直接认证失败。认证方式二选一选密码就直接输入密码选私钥则在“私钥”栏选择本地密钥文件。点击“保存”然后在书签列表里双击这条记录发起连接。连接成功后窗口右侧会进入交互终端输入命令即可。第一次连接时如果出现主机密钥确认提示比对一下服务器指纹合理再点确认这是 SSH 防止中间人攻击的基础机制别图快直接跳过。2.3 三种连接方式怎么选Electerm 支持密码登录、私钥登录、跳板机代理三种方式实际使用中覆盖了绝大多数运维场景。密码登录最省事但不推荐在公网服务器上长期用暴力破解的风险一直都在。私钥登录是主流方案密钥对相当于一把私人钥匙安全性和便捷性兼顾。跳板机场景则是在内外网隔离的网络中通过一台可访问的中转服务器连接到目标机器Electerm 的书签里自带代理设置不需要额外开隧道工具。我个人强烈建议任何一台长期使用的服务器都换成密钥登录。理由很简单密码可能被爆破、被泄露而密钥只要保管好私钥服务器端公钥没办法反推私钥。后面的章节我会专门讲密钥怎么配。3. 连接之前先搞定密钥登录3.1 生成密钥推荐 ed25519 而不是 rsa绕不开的环节是生成密钥对。现在新系统上首选 ed25519 算法它的密钥长度短、生成速度快、安全性有保证老旧的 rsa 4096 位虽然也能用但没必要再坚持。在 Windows 的 PowerShell、macOS 的终端或者 Linux 终端里敲这条命令就行ssh-keygen -t ed25519 -C your_emailexample.com命令执行后会问文件保存位置按回车默认存到用户目录的 .ssh 文件夹然后提示输入私钥口令 passphrase这里可以留空也可以设置一句口令。我建议内网跳板机或者个人电脑上的私钥可以留空工作电脑上最好加上口令虽然连接时每次要输一次但多了一道保险私钥文件即使丢了别人也无法直接用。生成完成后会得到两个文件id_ed25519 是私钥留在本地id_ed25519.pub 是公钥内容可以放心发给服务器管理员或者追加到服务器上。3.2 推送公钥到服务器拿到公钥内容有两种稳妥方式把它装到服务器。第一种是服务器端没有特殊限制且支持 ssh-copy-id 时直接执行ssh-copy-id -i ~/.ssh/id_ed25519.pub userserver_ipssh-copy-id 会把公钥追加到服务器对应用户的 ~/.ssh/authorized_keys 文件里顺便修正权限。第二种方式简单粗暴把 id_ed25519.pub 的内容手动复制到服务器的 ~/.ssh/authorized_keys 文件里一行一个公钥。服务器上执行如下命令mkdir -p ~/.ssh echo 粘贴你的公钥内容 ~/.ssh/authorized_keys chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys权限这步不能省如果 .ssh 文件夹或 authorized_keys 文件权限过宽sshd 会直接忽略这个文件表现出来就是密钥“明明配了却连不上”。3.3 Electerm 里配置私钥连接公钥注册到服务器后回到 Electerm 编辑之前的书签把认证方式从密码切换到私钥在私钥栏里选中本地生成的 id_ed25519 文件保存后重新连接。连接时会读取本地私钥完成认证不再需要输入密码。这套配置完成后建议顺手验证一次禁用密码登录的效果。在服务器的 sshd_config 里设置PasswordAuthentication no PermitRootLogin prohibit-password改完重启 sshd 服务。这样服务器不再接受纯密码认证即使密码泄露没有私钥也无法远程登录。相对地Electerm 端也不需要再做任何调整密钥认证不受影响。需要注意改这个配置前务必确认密钥登录已经验证通过否则手一抖把自己锁在外面就只能去控制台抢救了。有人可能会问如果公钥文件已经写进去了还是提示认证失败怎么办这个问题放到第 5 章排查部分因为八成出在权限或用户名上。4. 日常高频操作终端、SFTP 与多会话编排4.1 内置 SFTP终端和文件管理同屏操作连接成功之后左侧的文件面板会自动展开显示的路径就是当前用户的家目录。这个布局带来的效率提升用过的都知道不需要再单独开一个 FileZilla也不需要打开第二个软件去切换本地与远程目录。上传时把本地文件直接拖到远程目录窗口Electerm 会自动执行上传右上角能看到进度条。下载时右键远程文件选择“下载”文件会落到本地默认下载目录。复制、改名、删除、新建目录这些基础操作右键菜单里都有和本地文件管理器几乎一样。这里说一个调试技巧线上修改代码前先用 SFTP 把原文件下载到本地做备份改坏了随时上传覆盖。以前我用纯终端工具还得先敲 rz 再选文件Electerm 把备份动作缩减成了两次右键。4.2 多标签、分屏与批量操作接手过的服务器多了之后会话管理能力比终端模拟器本身更重要。Electerm 支持多标签同时打开快捷键 CtrlT 新开标签CtrlW 关闭标签。如果不想记住快捷键直接点标签栏的加号也能打开新会话。分屏模式适合同时操作多台机器的场景。比如升级服务时经常需要一台测试机、一台生产机并排比对日志或配置文件Electerm 的分屏模式能在一个窗口里同时展示两三个终端任何一个分屏的连接信息都是独立的互相不会串。批量操作服务器时我习惯把命令先在单台机器上验证再通过标签间复制粘贴到其他机器避免手抖输错。书签按项目分组也是个好习惯Electerm 支持创建文件夹对书签分类。我按“云服务器”“办公内网”“交换机”分组找连接的时候不用再翻历史记录。4.3 代理与内网环境的连接实际工作中经常遇到目标服务器不能直接从公网访问的情况比如它只在办公内网、没有公网 IP或者数据库端口没有对外开放。Electerm 在书签配置里提供了代理选项支持配置一个中转地址应用场景非常广某台内网机器只开放了特定端口你可以在能访问它的机器上开一个代理服务Electerm 走这个代理直连目标。配置方式在“书签”的“代理”栏里选择代理类型填入地址和端口。这里的代理解决的是内网互通问题和云服务器的安全组放行是两个维度。需要注意代理一旦配置错误典型表现是连接卡在握手阶段或者直接提示超时排查时先取消代理试试直连就能快速定位问题是否出在代理配置上。跟这个场景相关的一个高频误区是混淆了“代理”和“跳板机”代理是在本地客户端配置一个可访问的中转跳板机是先在服务器上登录再跳到下一台。Electerm 对跳板机场景的处理比较直接你只需要建两个书签第一个连接跳板机第二个连接目标机然后在第二个书签里配置代理指向跳板机地址和端口这个方案我实测下来很稳。5. 连接不上的时候我是怎么排查的5.1 认证失败从日志到权限的排查路径认证失败是 SSH 连接最高频的故障网上问“ssh认证失败git”“树莓派ssh密码不对”这类问题的用户几乎都遇到过。我积累了一条比较固定的排查路径。先确认用户名是否正确。很多云主机初始用户不是 root而是 ubuntu、centos或者云厂商定制的初始用户。密码正确但用户名不对现象仍然是认证失败。然后看到底是密码错还是私钥错。密码错误时重启服务端 sshd 之后再次连接系统日志会留下记录Debian/Ubuntu 系看 /var/log/auth.logCentOS/RHEL 系看 /var/log/secure找到类似 Failed password for invalid user 的条目确认不是服务器主动拒绝。密钥认证失败时重点看权限。服务器端 authorized_keys 文件权限必须是 600.ssh 目录必须是 700本地私钥文件权限在 Linux/macOS 下必须是 600 或 400否则 OpenSSH 会以“permissions are too open”为由拒绝使用。Windows 上还容易出现私钥文件继承了整个用户目录的权限需要用 icacls 或者右键属性把继承关掉只保留当前用户完全控制。查看日志的命令我一般这么用journalctl -u ssh -n 50如果看到 Authentication refused: bad ownership or modes不要怀疑别的按上面的权限规范重新 chmod 一遍基本都能解决。5.2 连接超时端口、防火墙与监听地址连不上的另一大类问题是连接超时。这里的排查思路要先区分“端口能通”和“SSH 能通”。ping 能通只说明主机在线不说明 SSH 端口开放。从本机测试端口是否可达nc -vz 192.168.1.100 22如果端口测试不通要按顺序排查三层云平台安全组是否放行了 22 端口入方向本机防火墙 firewalld 或 ufw 是否放行sshd 是否监听在所有网卡上。sshd 只监听本地回环地址而外部无法连接的情况通常可以在 sshd_config 里找到 ListenAddress 配置应改为ListenAddress 0.0.0.0或者直接注释掉这一行让服务监听所有地址。有意思的是很多人改了防火墙规则以后才想起 sshd_config 里面还写死了一个旧监听地址折腾半天连不上。如果你也遇到类似情况优先看 sshd 当前的监听状态ss -tlnp | grep sshd见到 0.0.0.0:22 或 [::]:22 说明监听正常接下来安心排查防火墙和安全组。5.3 连接断开与进程退出还有一个非常典型的问题词条“通过ssh连接服务器断开以后node服务会停”。说句实话这不算 SSH 的 bug而是进程管理常识。用 SSH 终端在前台执行 node server.js一旦连接断开终端会话退出时会给子进程发挂断信号node 进程自然就停了。解决思路有两个方向。简单粗暴的临时方案是用 nohup 加日志重定向nohup node server.js server.log 21 这样即使连接断开进程也不会收到挂断信号。更好的方案是用 tmux 或 screen 这类会话复用工具把任务放进独立会话里断开后重新连接还能接回现场继续看输出。我现在的习惯是任何需要长时间跑的任务一律先开一个 tmux 会话在里面跑绝不直接裸跑在前台。Electerm 本身也考虑过断线的问题它的终端连接在一定时间内没有数据交互会静默断开。如果你想保持长连接可以在系统配置文件里给 ssh 加两个参数ServerAliveInterval 60 和 ServerAliveCountMax 3让客户端每隔 60 秒发一个保活包服务器端则在 sshd_config 里设置 ClientAliveInterval 60 和 ClientAliveCountMax 3两边任意一边配置生效都能减少空闲断开的情况。5.4 高频问题速查表最后整理一个速查表覆盖我在群里见过的高频故障方便大家直接对照排查。现象常见原因检查要点Permission denied (publickey,password)用户名错误或密钥权限过宽核对用户名、chmod 600 私钥、服务器 authorized_keys 权限Host key verification failed服务器重装后指纹变化本地删除 known_hosts 中旧记录ssh-keygen -R 服务器地址Connection refused22 端口未监听或防火墙未放行ss -tlnp 查监听、firewalld/ufw 查放行、云安全组查规则Connection timed out安全组未放行或网络不通ping 主机、nc 测端口、确认 IP 没有变化连接后几秒被断开sshd 配置了不兼容策略查看 auth 日志检查 DenyUsers/AllowUsers密码正确但一直让输密码服务端加密算法不兼容升级 OpenSSH 客户端或检查 sshd_config 的 KexAlgorithmsWindows 下私钥权限错误文件继承了过多 ACL 权限用 icacls 或属性对话框移除继承仅保留当前用户服务器很忙连接挂起并发连接数或 MaxStartups 限制检查 sshd 日志、调整 MaxStartups 参数6. 一些真正提升效率的 Electerm 小技巧Electerm 的全局搜索功能值得单独提一次。多台服务器上书签数量变多以后靠肉眼翻列表效率太低直接在全局搜索里输入关键词能同时过滤书签和本地历史记录快速跳到对应的连接。配合书签分组使用效果更明显。Electerm 的待办事项也很有意思很多终端工具没有这个设计。我在服务器维护周期比较长的时候会把“检查磁盘占用”“更新证书”“备份数据库”写成待办事项列表放在侧边栏里边操作边勾选。跨设备场景下如果多台电脑都在使用 Electerm可以通过它内置的数据同步功能把书签和待办事项带到另一台设备上注意妥善保管数据密码。还有一个颜值效率两手抓的细节Electerm 的字体渲染做得比较顺滑建议在设置里把终端字体调成带等宽特性的编程字体比如 JetBrains Mono 或者 Cascadia Code。中文乱码问题通常也能通过把编码调整成 UTF-8 解决遇到中文注释显示乱码时先检查这里不用急着改服务器语言环境。我在实际使用中最深的一点体会是Electerm 的价值不在一两个炫酷功能而是把一个运维人员日常最高频的操作——连服务器、传文件、记任务——收敛到一个界面里。与其在每个环节都换一个工具不如让工具链少一点断裂。如果你是刚从 Xshell 或者裸终端切换过来的用户建议先花五分钟把前两章的基础连接流程走一遍再按第三章把密钥配上之后的使用体验会顺畅很多。