mobaxterm 是世界上最好用的 ssh 工具 ? 为何我找了半天复用连接会话都没有啊,
就是服务器需要秘钥+google 二次验证. 以前需要另开一个窗口的话如果使用 xshell 可以直接使用"复制 ssh 渠道"就可以在新窗口共用一个连接渠道,不用再次输入 google 验证码. mobaxterm 竟然不支持吗?
![]() | 1 xiaokanhongchen 2022-06-28 14:41:29 +08:00 via Android ![]() tabby 了解一下 |
2 hhacker 2022-06-28 14:43:43 +08:00 那个可能是付费功能 |
3 kingfly OP @xiaokanhongchen 嗯,一会试下,用的人不是很多啊 |
![]() | 5 Jat001 2022-06-28 16:35:04 +08:00 via Android ssh 自带的功能,非要用第三方软件,关键词 ControlMaster |
![]() | 9 Jekins 2022-06-28 18:03:14 +08:00 就没找到好用的 ssh 客户端软件。试了起码将近 10 个。。目前是 secureFx 和 Termius 搭配着用 |
![]() | 11 Jat001 2022-06-28 18:58:55 +08:00 ![]() @kingfly #8 ?我寻思这是 2022 年啊,Windows 10 1809 ( 2018 年十月发布)就引入了可选的 OpenSSH 组件,Windows 11 更是变成了内置组件。甚至你装个 git for windows 都会带个 openssh ,更别说装个 WSL 随便选个发行版也有 openssh 了。 我不太懂闭源的 ssh 客户端解决了什么痛点,我在 win 下用 windows terminal + openssh ,mac 下用 iterm2 + openssh ,linux 下用 guake ( kde 请用 yakuake )+ openssh ,传文件用 scp ,多平台的体验几乎完全一致,甚至 ssh client 的配置文件都不用改。 |
![]() | 12 Jat001 2022-06-28 19:12:16 +08:00 ![]() @kingfly #10 item2 是终端,对标的应该是 windows terminal ,虽然 windows terminal 目前来看功能还没有 iterm2 丰富,但跟大部分 linux 发行版自带的终端相比并没有什么区别。 还有 ConEmu ,历史比 windows terminal 更久远,功能也更强大。嫌配置复杂还有 Cmder ,基于 ConEmu ,开箱即用。 ssh 客户端跟终端是两种软件,上面说的这些终端我都用过,但 ssh 客户端我只用 openssh 。 |
![]() | 13 Jat001 2022-06-28 19:25:13 +08:00 @Jat001 #11 另外,win 上也有 sshd 哦,在 linux 上用 ssh 登录 win 也是可以的,默认 shell 是 cmd https://docs.microsoft.com/zh-cn/windows-server/administration/openssh/openssh_server_configuration |
![]() | 14 Ansen 2022-06-28 19:50:01 +08:00 windterm |
15 golangLover 2022-06-28 19:52:33 +08:00 via Android ![]() @Jat001 又一命令行主义者。 |
![]() | 16 Jat001 2022-06-28 19:56:36 +08:00 @golangLover #15 ?你用 ssh 是为了看 GUI ?这么喜欢图形界面可以换 rdp 或 vnc |
![]() | 17 Jat001 2022-06-28 20:08:59 +08:00 @golangLover #15 或者你告诉我这些 ssh 客户端有哪些 openssh 做不到的事情? |
18 kingfly OP @Jat001 我可以不需要任何可或者客户端啊,我说的是需要的是一个可以 ssh 连接复用啊, windows 下根本不支持啊,这还不够痛点么? xshell 至少可以复制 ssh 渠道啊,这还不够痛点吗? |
![]() | 19 Jat001 2022-06-28 20:23:42 +08:00 @kingfly #18 什么叫 win 不支持?这跟操作系统有什么关系?只要是 openssh 客户端都支持复用,不管在什么系统上。 https://en.wikibooks.org/wiki/OpenSSH/Cookbook/Multiplexing#Setting_Up_Multiplexing 比如按照这里的配置,~/.ssh/config 对应 win 下的路径是 C:\Users\<your_name>\config (在 powershell 甚至都不用改路径,~/.ssh/config 会自动转换成 C:\Users\<your_name>\config )。ControlPath 也不用改,但要手动建这个目录,在别的操作系统也一样。 ~/.ssh/config 你从任何一个操作系统,拷贝到其他操作系统,大部分设置都是通用的,甚至像 UserKnownHostsFile=/dev/null 在 win 下也一样有效,只有像 ProxyCommand 这种需要改一下 |
![]() | 20 Jat001 2022-06-28 20:37:38 +08:00 @Jat001 #19 我的错,直接在 win 上用 openssh 确实是不支持复用,我一般用 wsl 里的 ssh 所以没注意 |
22 kingfly OP @Jat001 嗯, 真的很感谢,我 mac 一直用的这个配置,只不过一直没了解, 看了你说的发现原来 mac 里面早都配置了,我 win 也是用的 wsl 连接的复用了你的配置 |
![]() | 24 lower 2022-06-28 21:00:30 +08:00 用习惯了 finalshell ,不过内存吃的太多了,一直没找着新的合适的工具 |
25 v23x 2022-06-28 21:02:54 +08:00 @Jat001 非常赞同.2022 了为什么不直接用系统自带的 windows terminal 呢? 不过 windows terminal 有一个非常不好的地方 就是不支持 zmode 无法用 sz rz 不方便 只能 sftp |
26 cherrychen 2022-06-28 21:10:01 +08:00 WindTerm 也挺好用的 |
![]() | 27 Jat001 2022-06-28 21:17:26 +08:00 @v23x #25 scp 命令手工打路径确实不方便,sftp 命令不常用,很久以前用 filezilla ,但后来换 zsh/fish 后发现可以自动补全远端路径后就不用了 |
![]() | 29 singerll 2022-06-28 21:47:16 +08:00 via Android @Jat001 你拿自己需求来类比本身就毫无意义,个人就那几台机器,随便一个终端工具当然够用。 xshell ,不管是 ssh 协议还是 telnet 协议,无缝集成 xftp ,鼠标动一下就能互传文件。在 xshell 界面,直接执行 gnome 命令,自动拉起远程机器的 gui 界面。几十台第一次登录,没有配置任何自动化工具的机器,鼠标一动随手就能批量执行命令。万一你有几十台机器,图形化的分组,想找哪个找哪个,用命令行你根本就记不住 ssh config 的别名。 这些你可能用 iterm2 之类的也能做,但你还没配置好,用 xshell 的人早就下班了。 |
![]() | 30 nnbn 2022-06-28 21:53:47 +08:00 之前用过,好用是好用,但真的臃肿,开 wsl 或者 powershell 特别卡,而且丑。但再怎么说也比连 ProxyJump 都不支持的 windows 自带的 openssl 强 |
![]() | 31 Jat001 2022-06-28 22:01:33 +08:00 @liuhan907 #28 不清楚 MultiExec 是啥,但如果只是跑多条命令,bash 下很简单 sleep 1 && echo 'aaa' & echo 'bbb' 先输出 bbb ,1 秒后输出 aaa 更复杂的命令我会用 xargs 或 parallel 我承认这些命令对于不熟悉 shell 的人来说过于复杂,我也不敢保证在不测试的情况下能一次写对。但这种场景其实很少见,更常见的操作是在多个服务器上同时执行一条命令,那我选择开多个 tab 直接粘贴 |
![]() | 32 Jat001 2022-06-28 22:08:30 +08:00 @singerll #29 用过 ansible 吗?根本不需要这几十台机器安装任何东西,只要能 ssh 上去就能操作。至于拉起 GUI ,没这需求,我平常用的都是没 GUI 的服务器,如果你说的这个工具可以自动起 GUI 并输入密码登录,那确实厉害,但我没这需求 |
![]() | 33 singerll 2022-06-28 22:15:06 +08:00 via Android @Jat001 xshell 不需要任何配置,只需要动下鼠标选择一下批量执行。ansible 最起码也要配置密码或者密码,等你把 ansible 的 yaml 文件配置调试完,用 xshell 的人早就下班了。 |
![]() | 34 tyzrj766 2022-06-28 22:55:57 +08:00 ![]() 习惯啥用啥吧,没什么最好的,个人习惯 xshell 了,用其他的一圈,确实功能更多更强,但是操作习惯回不来,用了几次都回去继续 xshell 了 |
![]() | 35 Jat001 2022-06-28 23:18:29 +08:00 ![]() @singerll #33 我不是运维,没有维护服务器的需求,但我的工作包括向客户提供部署方案,你觉得我应该让客户装个 xshell 呢,还是提供配置好的 yaml 文件? 另外 xshell 不用配置吗?在 GUI 里点点点跟写 yaml 有什么本质区别吗?只要目标集群环境一样,一台跟几十台、几百台有什么区别?更新软件、修改配置这种简单的活,为什么用 ansible 会慢?复杂的任务你敢在 xshell 直接点点点吗? 还有我没明白你说的要配置密码是什么意思,如果你这几十台机器即没有配置 authorized_keys ,每台机器的密码还不一样,你用 xshell 怎么登录?如果密码一样,写在 ansible 的 yaml 文件里就好啊,还要配置啥? 如果你只是在一堆机器上跑几个命令,不做环境检查,不关心执行结果,xshell 当然能满足你的需求,ansible 也不是用来做这个的,就像大部分人只是 ssh 上一台服务器敲命令一样,用啥 ssh 客户端都能满足需求。 最后,iterm2 是终端模拟器,不是 ssh 客户端。xshell 是自带终端模拟器的 ssh 客户端,或者说是内置 ssh 客户端的终端模拟器。ansible 是自动化运维工具。这三个都不是一种类型的工具,我们不要放在一块比较了。 总结一下: 1. 上一台服务器敲几个命令,用啥客户端都一样,但终端模拟器+openssh 是最简洁的方案 2. 在多台机器上同时执行简单的命令,openssh 做不到,普通用户用乱七八糟的图形化客户端,高级用户自己写 shell 脚本 3. 在多台机器上同时执行复杂的自动化部署,老老实实用 ansible 等工具 |
![]() | 36 adoal 2022-06-28 23:41:20 +08:00 via iPhone 如果服务器数量比较多,而且都是异质的(企业信息化环境里很常见,没有那么多像互联网环境那样一大堆同质节点做横向扩展的架构),那么一个带 GUI 的客户端对日常琐碎操作还是有点用的。至少,从 connection manager 里用眼睛看文字识读挑选目标服务器打开,比在命令行上输入 ip 或者别名要舒适很多。服务器多了,记不清 ip 或者名字很正常,但是看着列表挑选就容易很多。而且,既然是跑信息化业务的,还有很多名字是中文业务名,能挑选还是不输入了吧。 |
![]() | 38 Jat001 2022-06-29 00:30:47 +08:00 @liuhan907 #37 我就想问你点运行之前不看一眼对不对吗?粘贴之前确认跟你点运行之前确认有什么区别?真要粘了几个发现写错了,你不会 ctrl+c 然后再粘一遍吗? 要有几十台服务器还手动粘贴,那活该慢啊,写个 loop 有啥难的 for i in 192.168.1.{1..100}; do ssh root@$i echo aaa; done 我承认我要是经常有这需求我肯定装个带 gui 的 ssh 客户端,这种非常简单的命令还好,复杂点的还要处理转义问题,临时用一下我肯定不会去装个别的客户端 |
39 iseki 2022-06-29 01:49:40 +08:00 @Jat001 MobaXterm 自带的状态条和 sftp 都非常方便,不要说为什么不去用 VNC ,成本远高于一个图形化的 SSH 客户端 |
![]() | 40 Jat001 2022-06-29 02:03:57 +08:00 @iseki #39 但他是 windows only 啊,我用 scp+fish 的远程目录补全也不比鼠标慢啊,状态条是看什么的? |
![]() | 41 singerll 2022-06-29 06:46:46 +08:00 via Android @Jat001 scp+fish 补全再快也没鼠标拖一下快。 感觉你就没经历过现场实施的环境,而且你目前说的内容也仅有 ssh 协议,所以你觉得差不多。 现场 ssh 、telent ,串口协议都可能会有,远程机器也不一定是常见的 linux 发行版,也可能是个交换机防火墙类的定制 linux 。 有的客户就扔给你一台跳板机,啥也不允许装。你的 ansible 在哪部署都是问题。 |
42 AS4694lAS4808 2022-06-29 07:52:43 +08:00 via Android windows terminal 表示不服 |
![]() | 43 snowlyg 2022-06-29 08:27:13 +08:00 直接用 powershell |
45 Seanfuck 2022-06-29 09:44:57 +08:00 mobaxterm 的 sftp 不能记住上次的目录路径,是不是我没用对? |
46 hefish 2022-06-29 09:58:41 +08:00 我正在用 v2er 推荐的 windterm ,你说的这个功能看了下,有。可用。 |
![]() | 48 Codelike 2022-06-29 10:32:27 +08:00 一直在用 xshell , 个人还免费,挺好用 |
49 OnionJuice 2022-06-29 10:52:57 +08:00 确实,我在 Mac 上也想用 MobaX ,就除了对 Zmodem 支持和有点卡之外,其他都很好。MultiExec 对于运维集群服务器真的方便,还有左边的 SFTP 双击打开,保存自动上传更新的功能。但是有一个不好的就是 Zmodem 要用右键功能接收发送,对于需要经过堡垒机的服务器传输文件上不太方便。 |
![]() | 50 Latin 2022-06-29 11:05:31 +08:00 tabby 现在 yyds 就是 sftp 目前不支持目录直接拖拽 |
![]() | 51 killva4624 2022-06-29 11:08:41 +08:00 iterm2 最不能替代的地方还是 tmux 的整合…… |
![]() | 52 HannibaI 2022-06-29 11:49:14 +08:00 ![]() @golangLover #15 笑死,看不到这后面的本质问题,抓住一个虚无缥缈的标签就开始扣,为了自己一点凭空捏造的优越感,真是愚蠢至极 |
![]() | 53 HannibaI 2022-06-29 11:54:10 +08:00 @Jat001 我工作后发现同事连面对面教都不会为了效率去更新自己的工作流,更别说网友了,说这么多浪费感情,真不如自己写写博客 |
55 golangLover 2022-06-29 12:06:19 +08:00 via Android ![]() @HannibaI 用 gui 的没有优越感,反倒是用命令行的天天叫别人上手 vim/ssh 命令 之流,学几百个命令,搞了几天结果配出个廉价版工具天天炫耀自己多能干。。。。 |
![]() | 56 cassyfar 2022-06-29 12:08:15 +08:00 @golangLover 你有没有想过 mobaxterm 公司不准安装呢? |
57 golangLover 2022-06-29 12:08:45 +08:00 via Android 命令行是有他的用处的,如果大量重复可编程的部分,命令行还是有用的。但像那位说什么我用 sftp 配合 ssh 比起你集成的 ssh 工具好多了,那肯定是命令行主义者 |
58 missdeer 2022-06-29 12:50:44 +08:00 悄悄说一句,Windows 自带的 OpenSSH 和 Git for Windows 带的 OpenSSH 行为上略有不同 |
![]() | 59 hehe9011 2022-06-29 13:31:48 +08:00 windows terminal 怎么用 sftp ? |
![]() | 60 opentrade 2022-06-29 13:53:23 +08:00 的确不错,而且很惊艳,可是用着用着,我又切换到了 git bash |
![]() | 61 documentzhangx66 2022-06-29 14:19:15 +08:00 Mobaxterm 在 Windows 上能从命令行输入 ssh 用户名与密码来直接连接 Linux 了嘛? |
![]() | 62 singerll 2022-06-29 14:23:02 +08:00 via Android @cassyfar 什么叫“你服务器的自动化标准化做的差”,16c32g 的虚拟机,20 台也就 1 台物理机的配置,合着就几台物理机就必须得上自动化运维?你这标准是被国内云厂商给惯坏了,整天用虚拟机,没有接触过现场环境。 有的客户现场你别说服务器自动化,服务器还没上架呢,更有可能现场是一堆交换机路由器类的网络设备,你得亲自去机房看看线有没有插对都有可能。 |
![]() | 64 Jat001 2022-06-29 15:23:32 +08:00 via Android @singerll 啥都不允许装你给人家装个 xshell ?谁告诉你 ansible 必须安装了。我遇到的场景别说装东西了,连外网和图形界面都没有,整个部署流程全依赖一个压缩包。 |
![]() | 66 Jat001 2022-06-29 15:36:16 +08:00 via Android @cheng6563 那你怎么传输文件? sz rz ?那不就是 zmodem 。你没搞清楚 ssh 客户端跟终端模拟器之间的区别,zmodem 需要 terminal 支持。 |
![]() | 67 Jat001 2022-06-29 15:42:29 +08:00 via Android @hehe9011 能用 ssh 就能用 sftp ,ssh scp sftp 这些命令基本不会单独出现,除非你从别的地方拷了一个 ssh 过来,不然装了 openssh 这些命令都有 |
![]() | 68 singerll 2022-06-29 15:51:50 +08:00 @cassyfar 是是是,就三四台物理机,你把 ansible 、elk 、zabbix 、k8s 、gitlab 啥的都折腾一边,结果业务系统整天没啥问题,自己执行个命令是方便了,动不动安全检查,漏洞升级,弱口令整改啥的,自己整天运维这些自动化组件累的不轻。 |
![]() | 69 singerll 2022-06-29 15:57:34 +08:00 @Jat001 有没有一种可能,跳板机自带 xshell ?天融信这些厂家的跳板机、堡垒机,都是兼容了 xshell 、putty 的,兼容 ansible 的我还没见过。 我遇到的场景,别说装软件了,机房跳线都需要现场穿,交换机配置还没做。 |
![]() | 70 Jat001 2022-06-29 16:24:53 +08:00 @singerll #69 啥叫兼容 ansible ? ansible 是 python 写的,就算部署机器上没有 python 环境,自己准备一个就好了。堡垒机兼容的是协议,客户端符合协议标准怎么还需要单独兼容呢?再说一遍,ansible 是自动化运维工具,支持 ssh telnet 等协议,跟 xshell putty 完全不是一个类型的工具,为什么你要把他们放一块比较? 再直白一点,比如你写了一个 bash 脚本,这个脚本可以通过 ssh 命令登录到多台服务器执行一些命令,你把脚本放到了某台机器上,然后用 xshell 或 putty 登录到这台机器上运行这个脚本。ansible 就是这个 bash 脚本的升级版。 @singerll #68 你为什么总把不同的东西放一块讨论呢,ansible 、elk 、zabbix 、k8s 、gitlab 这些是同一类软件?有需求自然要用,没需求整天在生产环境瞎折腾不怕被开除? |
![]() | 71 singerll 2022-06-29 16:35:10 +08:00 ![]() @Jat001 你打那么多字,只能说明你没用过堡垒机。 至于我为什么要把这些一块讨论,你不会以为装个 ansible 就算自动化运维了吧????机房动环、网络设备、服务器、安全设备、日志、程序发布、监控等等,这些都是自动化运维的一部分。 |
![]() | 72 Jat001 2022-06-29 16:42:37 +08:00 @singerll #71 我没用过堡垒机?我天天用好吧,你以为我一开始为什么要研究 ssh 多路复用,我们那破堡垒机要求动态密码登录。 那你用过 ansible 吗?你不会以为装个 ansible 就能搞自动化运维了吧?这么说吧,ansible 能做到的事情,你自己写脚本也能做到,脚本做不到的事情 ansible 也做不到。 |
73 dcsuibian 2022-06-29 16:43:56 +08:00 ![]() |
![]() | 74 Jat001 2022-06-29 17:00:05 +08:00 ![]() @dcsuibian #73 说得好,GUI 隐藏了具体实现,你不知道软件实际做了什么,别人可能跟你用的不是一个 GUI 客户端,你没法把同样的操作在另一个客户端里完美重现。 另外面向开发人员的教程基本都是 CLI only 的,不是因为 GUI 程序做不到,而是不同的 GUI 客户端行为不一定完全一致。比如 git 客户端,其实都是调 CLI 里的 git ,但同一个命令不同的客户端使用的参数肯定是不一样的。 |
![]() | 75 singerll 2022-06-29 17:12:14 +08:00 @dcsuibian 我在说临时操作的便捷性,你在说事件本身的知识获取,不在一个频道。 我点按钮打包,只是为了方便,但并不能说明我不懂原理。 你要非要纠结,那我建议你去搞汇编,毕竟直接写 java 也不知道后面的原理。 |
![]() | 77 cassyfar 2022-06-29 17:15:53 +08:00 @singerll 我们大概一千台吧,三四台是你们组? |
![]() | 78 singerll 2022-06-29 17:29:15 +08:00 @cassyfar 我就不明白,公司的服务器又不是你的服务器,这也有优越感?这也能嘲讽? 真要比数量我们虽然也不算多,但 1 千台真不算多,我们机房都有四五个,华为云、阿里云私有云我们都有,小机、分布式存储、waf 等设备我都接触过。 三四台的企业我也见过,但我从来不觉得人家 low ,因为人家根本不靠信息化挣钱。 |
79 kingfly OP ![]() |
![]() | 80 Jat001 2022-06-29 17:37:26 +08:00 via Android @singerll 没人否认 GUI 程序的便捷性,前面我也说了,复杂的自动化运维要么自己写脚本,要么用 ansible 。 啥叫复杂的自动化运维,比如根据不同操作系统调用不同的包管理器安装不同的软件,根据环境生成配置文件,检查端口是否占用,检查路径是否存在,启动服务并观察服务是否存活,汇总所有操作日志到一处,出现错误后执行回滚等等。 把这些操作串起来才叫复杂的自动化运维,你非要把临时跑一两个命令或者硬件问题扯上来。 |
85 s4nd 2022-06-29 17:59:09 +08:00 via iPhone 最喜欢看这种帖子了,哈哈 |
![]() | 88 singerll 2022-06-29 18:42:11 +08:00 via Android @cassyfar 一会说我自动化运维做的差,一会又摆数量的,差点让我认为这是两个公司董事长之间的对话。 |
![]() | 89 pythonwood 2022-07-11 15:36:16 +08:00 1 、其实运维情景,批量操作而言,最强 ansible-console ,只是用的人不多,导致官方没怎发力。 2 、Linux 的 cssh ,Mac 的 csshX 就挺不错,win 上 git-bash/mobaterm 挺好。 而部分客户端就是 webview 感觉,不像应用。 3 、除此之外,我就是想要一个 openssh 带侧栏目录+点选功能的 gui 而已, 带 sftp 目录管理更好。 主要需求折叠分层,快速点机器。 最近搜到 windterm 而来这里总结下 |
![]() | 90 Lentin 2022-08-15 22:34:22 +08:00 适合自己的才是最好的,纠结这些干啥呢 |