mobaxterm 是世界上最好用的 ssh 工具 ? 为何我找了半天复用连接会话都没有啊,
就是服务器需要秘钥+google 二次验证. 以前需要另开一个窗口的话如果使用 xshell 可以直接使用"复制 ssh 渠道"就可以在新窗口共用一个连接渠道,不用再次输入 google 验证码. mobaxterm 竟然不支持吗?
1
xiaokanhongchen 2022-06-28 14:41:29 +08:00 via Android 2
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 8
@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 3
@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 1
@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 1
习惯啥用啥吧,没什么最好的,个人习惯 xshell 了,用其他的一圈,确实功能更多更强,但是操作习惯回不来,用了几次都回去继续 xshell 了
|
35
Jat001 2022-06-28 23:18:29 +08:00 1
@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 3
@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 1
@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 1
@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 1
|
74
Jat001 2022-06-29 17:00:05 +08:00 1
@dcsuibian #73 说得好,GUI 隐藏了具体实现,你不知道软件实际做了什么,别人可能跟你用的不是一个 GUI 客户端,你没法把同样的操作在另一个客户端里完美重现。
另外面向开发人员的教程基本都是 CLI only 的,不是因为 GUI 程序做不到,而是不同的 GUI 客户端行为不一定完全一致。比如 git 客户端,其实都是调 CLI 里的 git ,但同一个命令不同的客户端使用的参数肯定是不一样的。 |
75
singerll 2022-06-29 17:12:14 +08:00
@dcsuibian 我在说临时操作的便捷性,你在说事件本身的知识获取,不在一个频道。
我点按钮打包,只是为了方便,但并不能说明我不懂原理。 你要非要纠结,那我建议你去搞汇编,毕竟直接写 java 也不知道后面的原理。 |
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
适合自己的才是最好的,纠结这些干啥呢
|