非标准登录

非标准登录

作为我正在组合的一种深奥“黑客”的一部分,我修改了我的/etc/passwd/etc/shadow文件,以产生一个名为ニエット(“Niet”)的用户,其 shell 指向我编写的自定义脚本。

这一切都很好,我可以这样做:

ssh ニエット@localhost

输入密码,登录,然后我会得到自定义脚本的输出(当前只是“Hello,World!”,等待五秒钟,然后断开连接)。

它工作得很漂亮!

只有一个问题。我似乎无法直接从 PuTTY 等工具进行 SSH 登录。事实上,我能够连接的唯一方法是通过 SSH 连接到我的普通用户,然后执行上述ssh操作。localhost

我尝试过输入ニエット@example.com“主机名”字段以及类似的“自动登录用户名”选项,但两者都会导致尝试登录,但????显然失败了。尽管已确保将字符编码设置为 UTF-8,但仍然如此。

同样,我尝试过不使用自动登录,但是......好吧......

login as: ▒▒▒▒
▒▒▒▒@example.com's password:
Access denied

不是相当我在追求什么。

我很清楚我用这个用户名所做的事情是一次彻底的黑客攻击,我可能应该因此而受到砖头的打击。但它工作时,我的计算机 PuTTY 与服务器的通信似乎出现问题,因为服务器完全能够与自身通信。

我是否缺少一个选项或其他东西来使这项工作正常进行?

答案1

它不起作用的原因是双方都需要有兼容的字符集。由于 SSH 用户名不是基于字形,但基于实际的真实二进制值。

我能给出的最好建议是尝试两边都使用UTF-8。使用十六进制编辑器在 Windows 端和 unix 端显示十六进制值。确保它们匹配。如果他们不这样做的话不能工作。

但更一般地说,你到底想做什么?如果您试图创建一个“秘密”用户,那么您最好(并且更安全)创建一个具有 7 位 ASCII 用户名、禁用密码和钥匙用于登录。

相关内容