(打开的)SSHlogin名可以有30个以上的字符?

我必须通过SSHlogin到虚拟主机服务器。 不幸的是,login名称等于超过30个字符的域名。 基于debian的linux系统上的OpenSSH客户端在两种语法上都将login名限制为30个字符的限制:

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

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

有没有办法绕过这样的限制?

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

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

 Host alias-hostname.example.com HostName realname.example.com Port 875 User reallylongusername 
  • 只有在备用端口上有SSH服务时才需要端口(这是一个很好的做法)。
  • 如果要使用备用名称引用SSH主机,则使用主机。 在希望多个SSHconfiguration指向同一服务器但使用不同的用户名的情况下非常常用。

一旦你有~/.ssh/config文件,你可以使用ssh alias-hostname.example.com或者ssh realname.example.com ssh alias-hostname.example.com与你的主机ssh alias-hostname.example.com ,而不需要在命令行上指定ssh alias-hostname.example.com ssh realname.example.com或其他选项。 标签完成也将开始为主机名工作,所以你可以inputssh alias[tab] ,它将展开到ssh alias-hostname.example.com