Ssh

(Open)SSH 登錄名可以超過 30 個字元嗎?

  • May 6, 2016

我必須通過 SSH 登錄到網路託管伺服器。不幸的是,登錄名等於超過 30 個字元的域。基於 debian 的 linux 系統上的 OpenSSH 客戶端在兩種語法上都將登錄名限制為 30 個字元:

ssh login@example.com
ssh -l login example.com

SSH 協議的規格有限制嗎?它只是 OpenSSH 的限制嗎?它是基於 unix 的系統使用者名的限制嗎?

有沒有辦法繞過這樣的限制?

對於主機,您可以通過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 主機,則使用主機。在您希望多個 SSH 配置指向同一伺服器但使用不同使用者名的情況下非常常用。

擁有~/.ssh/config文件後,您可以使用ssh alias-hostname.example.comssh realname.example.com無需reallylongusername在命令行上指定或其他選項與主機對話。製表符補全也將開始對主機名起作用,因此您可以鍵入ssh alias[tab]並將其擴展為ssh alias-hostname.example.com.

引用自:https://serverfault.com/questions/775136