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

tssh无法连接远程机器 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! #20

Closed boomker closed 1 year ago

boomker commented 1 year ago
image

大佬, 我这边使用的是最新的 Go 版的 tssh, 发现 ssh 可以连接远程机器,tssh 反而不行

Originally posted by @boomker in https://github.com/trzsz/trzsz-ssh/issues/16#issuecomment-1596425576

boomker commented 1 year ago

解决了, 我删除了~/.ssh/known_hosts中对应的条目指纹数据, 重新连接就好了

lonnywong commented 1 year ago

这个是 go 版的 knownhosts 实现有点小问题,当服务器有多个“指纹”时,只会验证第一个。 有人提 PR 了,但还没合入:https://github.com/golang/crypto/pull/254

lonnywong commented 1 year ago

问题已修复,可以 go install github.com/trzsz/trzsz-ssh/cmd/tssh@main 这样安装未发布的版本试一下。

当服务器有多个指纹,在 ~/.ssh/known_hosts 中可能会看到同一服务器有多行记录,如果只保留某一行,把其他行删了,正常应该都能登录的。我发现只保留 ssh-ed25519 那行时,旧版本的 tssh 就会报此 issue 的错,新版本 tssh 已解决此问题。

boomker commented 1 year ago

问题已修复,可以 go install github.com/trzsz/trzsz-ssh/cmd/tssh@main 这样安装未发布的版本试一下。

当服务器有多个指纹,在 ~/.ssh/known_hosts 中可能会看到同一服务器有多行记录,如果只保留某一行,把其他行删了,正常应该都能登录的。我发现只保留 ssh-ed25519 那行时,旧版本的 tssh 就会报此 issue 的错,新版本 tssh 已解决此问题。

好的, 我试试新版, 感谢!

lonnywong commented 1 year ago

v0.1.6 已解决此问题