trzsz / trzsz-ssh

trzsz-ssh ( tssh ) is an ssh client designed as a drop-in replacement for the openssh client. It aims to provide complete compatibility with openssh, mirroring all its features, while also offering additional useful features. Such as login prompt, batch login, remember password, automated interaction, trzsz, zmodem(rz/sz), udp mode like mosh, etc.
https://trzsz.github.io/ssh
MIT License
1.72k stars 102 forks source link

记住密码能适配需要手动输入密码的case吗? #28

Closed Nuclear6 closed 1 year ago

Nuclear6 commented 1 year ago

如题

lonnywong commented 1 year ago

是指记住的密码不正确时,切换到手动输入?这个我看看 go 的源码,看有没有办法实现。

Nuclear6 commented 1 year ago

不是 我这边配置密码之后,使用tssh登陆内网机器 还是提示我输入密码,抱歉没有描述清楚

lonnywong commented 1 year ago

这种应该是支持了的。存在 ~/.ssh/password 这个文件,并且登录的 Host 有对应的 Password 配置项吧?

Nuclear6 commented 1 year ago

好的 我再研究下,多谢🙏

lonnywong commented 1 year ago

参考 README 中的示例

Nuclear6 commented 1 year ago

我的case应该是需要手动输入密码才行,不支持直接拼接密码访问ssh,有办法把配置的密码转到终端吗?相当于终端让用户输入密码时候,把配置密码填进去,我记得shell有一个命令,具体是哪个忘了

lonnywong commented 1 year ago

你的输入也是 tssh 读取然后处理的,现在 tssh 自己从配置文件读到密码了,就可以直接用了。不应该存在你说的情况才对。

你是不是用私钥登录的,要输入的只是保护私钥的密码?

lonnywong commented 1 year ago

对了,还有一种认证方式,那不是密码,是服务器返回的问题,你需要回答服务器返回的问题,这个输入看起来很像密码的。方便在输入时,截个图来看看?

Nuclear6 commented 1 year ago

估计是你说的这种,因为提示输入的是邮箱密码,算是一种服务器问题吧

lonnywong commented 1 year ago

对,这是是服务器自定义的问题。可以支持记住答案,这些答案怎么配置好呢?

Question1 答案1
Question2 答案2
Question3 答案3

这样配?

Nuclear6 commented 1 year ago

我这边case是服务器只有一个问题,通常会有多个问题吗?如果大部分都是一个问题,是不是拿host匹配下答案,然后当作用户输入

lonnywong commented 1 year ago

一般都是一个,但是协议上是支持多个的,也要一并考虑多个怎么配置。

有些服务器还可能随机乱序出题,最好是以问题作为配置的 key,但是问题可能会有空格、换行等特殊字符,又不太合适。

这样吧,支持两种配置方式:

我周末抽空实现一下。

Nuclear6 commented 1 year ago

果然大佬考虑的就是仔细,我这第一想法就是怎么简单怎么来 原来就是这个服务器问题,BannercallBack image

lonnywong commented 1 year ago

服务器问题是这个哈: https://github.com/trzsz/trzsz-ssh/blob/030c0613ccdb9a3a3b085b43a1969540f9b78972/login.go#L415-L428

你贴出来那个是服务器的 banner( 也可以说是 logo ),像 ubuntu 默认会提示一些更新信息等。

Nuclear6 commented 1 year ago

嗯 后来看到了,期待大佬解决下这个自动输入问题答案功能

lonnywong commented 1 year ago

@Nuclear6 已支持,可参考 README 记住答案 进行配置。

Nuclear6 commented 1 year ago

确认解决了 感谢大佬