ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

FinalShell 使用教程:从安装连接到远程运维与 Gitee 拉代码

FinalShell 使用教程:从安装连接到远程运维与 Gitee 拉代码 1. 从一台新装的 CentOS 说起为什么我最后还是选了 FinalShell每次拿到一台刚装好的 CentOS 7 或者 Ubuntu 虚拟机第一件事永远是解决怎么连上去、怎么舒服地连上去这个问题。命令行裸连当然可以ssh root192.168.x.x敲进去也能用但只要你需要在服务器上频繁地看目录结构、改配置文件、上传下载文件、盯着内存和 CPU 曲线纯命令行就会开始折磨人。我自己的习惯是本地开发用 VS Code 加终端但一旦涉及远程服务器运维、多台机器切换、文件传输就必须上一个带图形界面的 SSH 客户端。市面上这类工具不少Xshell、SecureCRT、PuTTY、MobaXterm 各有各的拥趸。我这些年陆陆续续都用过最后在个人和中小团队场景里稳定留下来的是 FinalShell。原因很朴素它把 SSH 终端、SFTP 文件管理、服务器性能监控、网络监控这几件事塞进了一个界面里而且是中文的对刚接触 Linux 的同学极其友好。你不用在终端和另一个 FTP 工具之间来回切窗口左边点目录、右边敲命令拖个文件进去就传完了。这篇内容我打算把 FinalShell 从下载、安装、激活、连接到日常使用的完整链路讲透重点放在基本使用上——因为下载安装谁都会真正让新手卡住的是连接不上虚拟机、拖文件卡死、怎么从 Gitee 拉代码这些实际问题。热词里出现的finalshell连接不上vmware、拖动文件finalshell卡死、finalshell怎么拉取gitee里面的信息恰恰就是大家最常踩的坑我会逐个拆开讲。无论你是刚学 Linux 的学生还是需要管理几台测试服务器的开发看完都能直接上手。2. 下载渠道的选择与安装包的真伪辨别2.1 官网下载与版本号的含义FinalShell 的官方下载渠道是它的官网搜索FinalShell 官网就能找到。这里有个很多人忽略的细节官网首页通常会同时提供 Windows、macOS、Linux 三个平台的安装包Windows 版是.exemacOS 版是.dmgLinux 版是.sh或者压缩包。下载的时候一定要看清楚自己系统对应的版本我见过有同学在 Windows 上下了 macOS 的 dmg 文件然后一脸茫然地问为什么打不开。版本号方面热词里提到的finalshell 4.3.10是一个比较经典的版本。FinalShell 的版本号规则大致是主版本.次版本.修订号4.x 系列是目前的主流。需要说明的是FinalShell 分为免费版和专业版免费版对绝大多数个人用户和日常运维场景已经完全够用专业版主要多了些高级功能比如更完善的会话管理、批量操作等。对于学习 Linux、管理几台测试机来说免费版没有任何问题。提示下载时优先选择官网提供的安装包。第三方下载站点的安装包存在被二次打包的风险可能捆绑其他软件这一点在下载任何工具时都适用。2.2 安装过程中的几个选择Windows 下双击 exe 安装基本一路下一步就行。但有两个地方值得留意。第一是安装路径默认会装在 C 盘的用户目录下如果你的 C 盘空间紧张建议改到 D 盘。第二是安装完成后首次启动时它会问你是否关联某些文件类型、是否开机自启这些按需勾选即可我一般不开机自启因为不是每天都用。macOS 下安装 dmg 后首次打开可能会遇到系统提示无法验证开发者。这是 macOS 的安全机制不是软件有问题。解决办法是去系统设置 - 隐私与安全性里找到对应的拦截提示点仍要打开即可。Linux 用户如果是桌面环境运行.sh脚本或者解压后直接执行启动脚本就行它依赖 Java 运行环境如果启动报错提示找不到 Java装一个 JDK 就好——这也是为什么热词里jdk8下载和finalshell经常一起出现。2.3 关于激活这件事的理性看待热词里出现了finalshell激活、finalshell 4.3.10 激活这类词。我的建议很直接个人学习和小团队使用免费版功能足够没必要折腾激活。网上流传的各种激活码、破解补丁来源不明安全性无法保证而且这类操作本身也不值得提倡。如果你确实需要专业版的高级功能支持正版是最省心的选择省下来的折腾时间远比那点费用值钱。这一点我在很多工具上都吃过亏——为了省一点钱去找破解结果花了几个小时排查莫名其妙的报错得不偿失。3. 第一次连接服务器从新建会话到排错3.1 新建 SSH 会话的完整参数打开 FinalShell左上角有个文件夹图标点开就是连接管理器。新建一个 SSH 连接需要填几个关键参数我逐个说明它们的作用因为很多人连接失败就是这里填错了。名称随便起比如测试机 CentOS7方便自己识别。主机填服务器的 IP 地址。如果是本机虚拟机通常是192.168.x.x这种内网地址。端口SSH 默认是 22。如果你改过服务器的 SSH 端口这里要对应改。用户名Linux 上一般是root或者你自己创建的普通用户。密码对应用户的登录密码。填完之后点确定双击这个会话就能连接。第一次连接会弹出一个指纹确认框问你是否信任这台主机点接受并保存即可。这个指纹是服务器 SSH 服务的公钥指纹用于防止中间人攻击属于正常流程。3.2 连接不上 VMware 虚拟机的排查链路finalshell连接不上vmware是搜索量很高的一个问题我自己也踩过。这个问题的排查要按顺序来不能瞎试。下面是我总结的完整排查链路从最可能的原因开始。第一步确认虚拟机的网络模式。VMware 有三种常见网络模式桥接、NAT、仅主机。桥接模式下虚拟机会获得和宿主机同网段的独立 IP局域网内其他机器能直接访问NAT 模式下虚拟机通过宿主机上网外部访问需要端口转发仅主机模式则只有宿主机能访问。如果你用的是 NAT 模式而 FinalShell 装在宿主机上通常能连如果 FinalShell 装在另一台机器上就连不上需要配置端口转发。第二步确认虚拟机的 IP 地址。在虚拟机里执行ip addr或者ifconfig看网卡拿到的 IP 是多少。很多人凭记忆填了个旧 IP结果虚拟机重启后 DHCP 分配了新地址自然连不上。第三步测试网络连通性。在宿主机上ping一下虚拟机的 IP。如果 ping 不通说明是网络层的问题跟 FinalShell 无关先去解决网络。如果 ping 得通但 SSH 连不上那问题就在 SSH 服务本身。第四步检查 SSH 服务是否运行。在虚拟机里执行systemctl status sshdCentOS或systemctl status sshUbuntu。如果服务没启动systemctl start sshd启动它并systemctl enable sshd设置开机自启。第五步检查防火墙。CentOS 7 默认开着 firewalld可能挡住了 22 端口。执行firewall-cmd --list-all看 22 端口是否放行。临时排查可以先把防火墙停掉systemctl stop firewalld确认是不是它的问题但生产环境不要长期关闭防火墙应该用firewall-cmd --add-port22/tcp --permanent放行端口后firewall-cmd --reload。第六步检查 SELinux。少数情况下 SELinux 会干扰getenforce看状态临时设为宽容模式setenforce 0测试。把这六步走完99% 的连接不上 VMware问题都能定位。我遇到最多的情况是第二步和第五步——IP 填错或者防火墙没放行。3.3 密码正确却登录失败的几种可能有时候密码明明是对的就是登不进去。常见原因有几个一是用户名错了比如服务器上根本没有admin这个用户二是 SSH 配置里禁用了密码登录只允许密钥登录这需要改/etc/ssh/sshd_config里的PasswordAuthentication三是账户被锁定或者 shell 被设成了/sbin/nologin。这几种情况 FinalShell 的报错信息其实会给线索比如提示 Permission denied你就该往权限和认证方式上想。4. 把 FinalShell 用顺手终端、文件与监控的协同4.1 终端区域的高频操作连上之后主界面下半部分是终端上半部分默认是文件管理。终端本身支持多标签你可以同时开好几个会话一台机器一个标签切换很方便。几个我常用的操作复制粘贴选中即复制右键即粘贴这个交互逻辑和很多终端不一样习惯之后很顺手。字体和配色调整在设置里可以改字体大小和主题长时间盯着屏幕的话把背景调成深色、字体调大一点眼睛舒服很多。命令历史上下方向键翻历史命令和普通终端一致。快捷命令FinalShell 支持自定义快捷命令按钮把常用的长命令存进去点一下就执行省得反复敲。4.2 文件管理拖拽上传下载的正确姿势左侧的文件树是 FinalShell 的一大卖点。你可以像用本地资源管理器一样浏览服务器目录双击进入文件夹右键新建、删除、重命名。上传下载最直接的方式就是拖拽从本地拖文件到远程目录或者反过来。但热词里拖动文件finalshell卡死这个问题确实存在我自己也遇到过。原因通常有几个一是文件太大比如几个 G 的镜像文件拖拽传输时界面会假死这时候建议用命令行scp或者rsync来传大文件别用图形界面硬扛二是网络不稳定传输中断导致界面卡住三是 FinalShell 本身的 Java 进程内存不够可以在启动配置里调大堆内存。我的经验是小文件几 MB 到几十 MB用拖拽没问题大文件一律走命令行。另外传输大量小文件时先打包成 tar 再传比一个个拖快得多这是运维的基本功。4.3 性能监控面板的实际价值FinalShell 顶部有个监控区域能实时显示 CPU、内存、网络、磁盘的曲线。这个功能对排查问题特别有用。比如你部署了一个服务发现响应变慢看一眼监控如果 CPU 飙到 100%那大概率是某个进程在死循环如果内存持续上涨不回落可能是内存泄漏如果网络流量异常可能是被攻击或者在做大流量传输。我习惯在压测的时候开着这个面板一边跑压测脚本一边看曲线比事后翻日志直观得多。需要提醒的是这个监控是 FinalShell 通过定期执行系统命令采集的本身会消耗一点点资源但可以忽略不计。5. 进阶场景从 Gitee 拉代码与常见卡顿处理5.1 在 FinalShell 里操作 Gitee 仓库finalshell怎么拉取gitee里面的信息这个问题本质上不是 FinalShell 的功能而是在 SSH 终端里怎么用 Git。FinalShell 只是个终端工具你在它里面敲的命令和在普通终端里一模一样。完整流程是这样的首先确认服务器上装了 Gitgit --version检查没有的话yum install git或apt install git装上。然后配置一下身份git config --global user.name 你的名字和git config --global user.email 你的邮箱。接着就是拉代码。如果你只是想下载用git clone 仓库地址。Gitee 的仓库地址在项目页面上能复制到 HTTPS 和 SSH 两种。HTTPS 方式需要输入 Gitee 的账号密码SSH 方式需要配置密钥。我一般推荐在服务器上生成 SSH 密钥对ssh-keygen -t rsa -C 你的邮箱然后把公钥~/.ssh/id_rsa.pub的内容复制到 Gitee 的 SSH 公钥设置里之后拉代码就不用反复输密码了。如果服务器访问 Gitee 速度慢可以考虑用 Gitee 的镜像或者配置代理但这里不展开。拉下来之后git pull更新、git checkout切分支都是标准 Git 操作FinalShell 不改变任何东西。5.2 卡死、断连、乱码的应对除了拖文件卡死还有几个常见毛病。中文乱码终端编码和服务器不一致导致在 FinalShell 的编码设置里改成 UTF-8 通常能解决。连接超时断开长时间不操作SSH 会话被服务器或中间网络设备断开可以在 FinalShell 里开启保持连接的心跳设置定期发个空包维持会话。界面卡顿如果开了很多标签页Java 进程内存吃紧关掉不用的标签或者调大内存。这些问题的共同点是它们大多不是 FinalShell 独有的任何 SSH 客户端都可能遇到理解背后的原因比记住某个按钮在哪更重要。6. 我这些年用 FinalShell 攒下的几条实在经验用久了总会形成一些自己的习惯这里挑几条我觉得对新手最有用的分享出来。第一会话分组管理。如果你管理的服务器超过三台一定要在连接管理器里建文件夹分组按项目或者环境开发、测试、生产分。我见过有人几十个会话平铺在一起找一台机器找半天。生产环境的会话我还会用不同颜色标记避免手滑在错误的机器上执行危险命令。第二危险命令二次确认。rm -rf这种命令敲之前一定看清楚路径。FinalShell 本身没有强制确认但你可以通过自定义快捷命令的方式把危险操作封装成需要确认的脚本。这个习惯救过我很多次。第三善用本地终端。FinalShell 也能开本地终端有时候需要在本地跑个命令不用再单独开一个 CMD 或终端窗口直接在 FinalShell 里开个本地标签就行。第四定期更新。新版本会修一些 bug、优化性能尤其是连接稳定性和文件传输方面。但更新前建议先备份一下会话配置万一新版有问题还能回退。第五不要把密码存在不安全的公共电脑上。FinalShell 支持保存密码方便下次连接但在公用机器上千万别勾选保存用完记得清理会话。关于下载再啰嗦一句认准官网别图省事从各种软件园下载站拿安装包。我帮别人排查过好几次FinalShell 装了之后电脑变卡、弹广告的问题最后发现都是安装包被二次打包了。工具本身是干净的脏的是那些下载渠道。这一点对所有开发工具都成立VS Code、JDK、Maven、Redis 这些热词里出现的工具下载时都应该走官方渠道。最后说个我自己的用法我把 FinalShell 和本地的 VS Code 配合着用。VS Code 通过 Remote-SSH 插件连服务器写代码FinalShell 负责看监控、传文件、执行运维命令。两者各司其职比只用其中一个效率高不少。工具没有绝对的好坏找到适合自己工作流的组合才是最重要的。
返回列表