Назад | Перейти на главную страницу

Может ли имя для входа (Open) SSH содержать более 30 символов?

Мне нужно войти через SSH на сервер веб-хостинга. К сожалению, имя для входа соответствует домену, содержащему более 30 символов. Клиент OpenSSH в системе Linux на основе debian сокращает имя входа до 30 символов в обоих синтаксисах:

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

Есть ли ограничение в спецификациях протокола SSH? Это лимит только OpenSSH? Это лимит имен пользователей системы на основе unix?

Есть ли способ обойти такое ограничение?

Для хоста вы можете проверить LOGIN_NAME_MAX через любой man useradd или 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.com или ssh realname.example.com без необходимости указывать reallylongusername или другие параметры в командной строке. Завершение табуляции также начнет работать для имени хоста, поэтому вы можете ввести ssh alias[tab] и он расширится до ssh alias-hostname.example.com.