Ssh
(Open)SSH 登錄名可以超過 30 個字元嗎?
我必須通過 SSH 登錄到網路託管伺服器。不幸的是,登錄名等於超過 30 個字元的域。基於 debian 的 linux 系統上的 OpenSSH 客戶端在兩種語法上都將登錄名限制為 30 個字元:
ssh login@example.com ssh -l login example.com
SSH 協議的規格有限制嗎?它只是 OpenSSH 的限制嗎?它是基於 unix 的系統使用者名的限制嗎?
有沒有辦法繞過這樣的限制?
對於主機,您可以通過
man useradd
或來檢查 LOGIN_NAME_MAXgetconf 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.com
或ssh realname.example.com
無需reallylongusername
在命令行上指定或其他選項與主機對話。製表符補全也將開始對主機名起作用,因此您可以鍵入ssh alias[tab]
並將其擴展為ssh alias-hostname.example.com
.