(Open)SSH 登录名可以超过 30 个字符吗?

(Open)SSH 登录名可以超过 30 个字符吗?

我必须通过 SSH 登录到 Web 托管服务器。不幸的是,登录名等于域名,长度超过 30 个字符。基于 Debian 的 Linux 系统上的 OpenSSH 客户端在两种语法上都将登录名限制为 30 个字符:

ssh [email protected]
ssh -l login example.com

SSH 协议的规格有限制吗?这仅仅是 OpenSSH 的限制吗?这是基于 unix 的系统用户名的限制吗?

有没有什么办法可以解决这个限制?

答案1

对于主机,您可以通过man useradd或检查 LOGIN_NAME_MAX getconf LOGIN_NAME_MAX,在 Linux 上大多数情况下限制为 32 个字符。alias-hostname.example.com 但是,一种可能的解决方法是将您的用户名放入文件中~/.ssh/config

我不知道 OpenSSH 是否可以处理配置文件中的较长用户名。但值得一试。

Host alias-hostname.example.com
HostName realname.example.com
Port 875
User reallylongusername
  • 仅当您在备用端口上拥有 SSH 服务时才需要端口(这是很好的做法)。
  • 如果您想用另一个名称来引用 SSH 主机,则可以使用 Host。当您希望多个 SSH 配置指向同一服务器但使用不同的用户名时,此方法非常常用。

有了文件后,您可以使用或~/.ssh/config与主机通信,而无需在命令行上指定或其他选项。制表符补全也将开始对主机名起作用,因此您可以键入,它将扩展为。ssh alias-hostname.example.comssh realname.example.comreallylongusernamessh alias[tab]ssh alias-hostname.example.com

相关内容