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

bug : 关于 .\.ssh\known_hosts 中有 空格的情况下,会使用不了 #44

Closed falseUtopia closed 1 year ago

falseUtopia commented 1 year ago

在我的 known_hosts 中有一条记录

[demo.local]:2222,[fe80::20c:29ff:fe18:e2b5%以太网 6]:2222 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBAfFFhkEb

这里出现了空格以太网 6 于是 tssh 连接时报错了

new knownhosts [C:\Users\xxx\.ssh\known_hosts] failed: knownhosts: C:\Users\xxx\.ssh\known_hosts:9: illegal base64 data at input byte 5
lonnywong commented 1 year ago

@falseUtopia 问题出在以太网 6 中间的空格上。

你试试把这行记录删了,再把网卡以太网 6 改成 以太网6 ,就是把空格去掉,然后让 ssh 或 tssh 重新写一条 known_hosts,然后再看看 tssh demo.localtssh user@fe80::20c:29ff:fe18:e2b5%以太网6 ( 其中 user 要换成你的用户名)是不是都能正常登录?

另外,这行记录是 tssh 写进去的吗?如果是 tssh 写的,应该会省略 22 才对。

falseUtopia commented 1 year ago

记录是tssh写的。 试了下,的确是空格导致,现修改 网络连接的名称 把空格去除后, 使用正常。 同时,在网络连接名称依然有空格的情况下,只把 known_hosts 中的空格删除掉,使用依然正常。 看看这个空格好不好处理。

lonnywong commented 1 year ago

端口不是 22 ,是 2222,对吧?那看着像是 tssh 写的。

有空格时,可以让 tssh 不写入 IP。这样,用 tssh demo.local 也是能正常登录的,不过用 tssh "fe80::20c:29ff:fe18:e2b5%以太网 6" 就还是会有问题。

lonnywong commented 1 year ago

@falseUtopia 有空帮测试一下以下两种能不能登录?可能会写往 known_hosts 写入有问题的记录,事后要自己清理一下。

tssh -l username "fe80::20c:29ff:fe18:e2b5"

tssh -l username "fe80::20c:29ff:fe18:e2b5%以太网 6"
lonnywong commented 1 year ago

@falseUtopia 最新的代码已经避免了往 known_hosts 中写入空格了,在 0.1.12 发布前,可以这样安装:

go install github.com/trzsz/trzsz-ssh/cmd/tssh@main
falseUtopia commented 1 year ago

@falseUtopia 有空帮测试一下以下两种能不能登录?可能会写往 known_hosts 写入有问题的记录,事后要自己清理一下。

tssh -l username "fe80::20c:29ff:fe18:e2b5"

tssh -l username "fe80::20c:29ff:fe18:e2b5%以太网 6"

试了一把,两个都可以连

lonnywong commented 1 year ago

tssh v0.1.12 已解决。