如何在 Ubuntu 服务器上设置 telnetd-ssl 作为 SSH 的备份?

如何在 Ubuntu 服务器上设置 telnetd-ssl 作为 SSH 的备份?

中发生的错误/etc/ssh/sshd_config可能会将用户或管理员锁定在仅可通过 SSH 访问的服务器之外。在这种情况下,Telnet SSL 是访问服务器的备用方式。如何在 Ubuntu 服务器上设置 Telnet SSL 服务器?

Telnet SSL 安装方式如下:

sudo apt install telnetd-ssl

安装后,它会创建证书/etc/telnetd-ssl/telnetd.pem。当 Telnet SSL 客户端尝试连接到 Telnet SSL 服务器时,它不会接受该证书,导致客户端输出如下:

$ telnet-ssl -z secure example.org 23
Trying 127.0.0.1...
Connected to example.org.
Escape character is '^]'.
[SSL - attempting to switch on SSL]
[SSL - handshake starting]
SSL: Server has a self-signed certificate
SSL: unknown issuer: /O=Internet Widgits Pty Ltd/OU=m93p telnetd/CN=example./emailAddress=root@example.
SSL: certificate verify failed
telnet: Unable to ssl_connect to remote host
Connection closed.

如何解决这个问题?

答案1

Telnet SSL 服务器,它不接受证书,导致客户端输出如下内容:

$ telnet-ssl -z secure example.org 23
...
SSL: Server has a self-signed certificate
SSL: unknown issuer: /O=Internet Widgits Pty Ltd/OU=m93p telnetd/CN=example./emailAddress=root@example.
SSL: certificate verify failed

根据telnet-ssl(1)手册页,看起来您需要一个-z cert=<cert file>选项。

-z cert=<cert file>是必需的,因为颁发者(主题 DN = /O=Internet Widgits Pty Ltd/OU=m93p telnetd/CN=example./emailAddress=root@example)不受系统信任。也就是说,证书不位于/etc/ssl/certs/

另一个选项可能是将证书添加到/etc/ssl/certs/。对于 Debian 和 Ubuntu,您只需将 PEM 格式的新证书复制到目录/etc/ssl/certs/。新证书将与其他 450 个左右的证书并存。

对于 Fedora,您必须将新证书附加到文件/etc/ssl/certs/ca-bundle.crtca-bundle.crt实际上是指向的链接/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pemtls-ca-bundle.pem只是将 PEM 文件连接成一个文件。

Fedora 也有一个/etc/pki/ca-trust/extracted/openssl/ca-bundle.trust.crt,但我不相信你会使用它,因为ca-bundle.trust.crt它是为 CA 准备的,而自签名的终端实体证书应该不是CA=TRUE基本约束。


值得一提的是,我从未使用过telnet-ssl,因此无法根据经验提供完整的答案。一旦您超越“信任此 SSL 证书”,您可能会遇到其他问题。例如,看起来 TLS 上的 Telnet 使用端口 992,而不是 23。

相关内容