Вопрос по unix, ssh – конфигурация ssh: переопределить имя пользователя по умолчанию

223

Можно ли настроить ssh, чтобы знать, каким должно быть мое имя пользователя? По умолчанию он использует текущее имя пользователя, что в моем случае неверно.

Я использую ноутбук, и мое имя пользователяloaner, но я хочу сказать ssh, что мое имя пользователяbuck.

Бонусные баллы: мое имя пользователя дома bgolemon. Если бы я мог настроить имя пользователя для каждого хоста, это было бы еще лучше.

Это такой хороший вопрос! Nicolas S.Xu
Stack Overflow - сайт для вопросов программирования и разработки. Этот вопрос кажется не по теме, потому что он не касается программирования или разработки. УвидетьWhat topics can I ask about here в справочном центре. возможноSuper User или жеUnix & Linux Stack Exchange было бы лучше спросить. Также смWhere do I post questions about Dev Ops? jww

Ваш Ответ

5   ответов
0

Существует рубиновый драгоценный камень, тssh файл конфигурации, который называетсяsshez.

Все, что вам нужно сделать, этоsshez <alias> [email protected] -p <port-number> тогда вы можете подключиться с помощьюssh <alias>, Это также полезно, поскольку вы можете перечислить свои псевдонимы, используяsshez list и легко удалить их, используяsshez remove alias

0

Вы можете использовать короткий путь. Создайте файл .bashrc в вашем домашнем каталоге. Там вы можете добавить следующее

псевдоним sshb = & quot; ssh бак @ хост & quot;

Чтобы сделать псевдоним доступным в вашем терминале, вы можете либо закрыть и открыть свой терминал, либо запустить

источник ~ / .bashrc

Затем вы можете подключиться, просто набрав: sshb

6

man ssh_config говорит

User

Specifies the user to log in as. This can be useful when a different user name is used on different machines. This saves the trouble of having to remember to give the user name on the command line.

К сожалению, там также есть пользовательские настройки.
& Quot; Идентичность & Quot; в этом случае эквивалентно обычному использованию «пароля». Это данные, которые аутентифицируют вас, но не помогают указать, кого вы пытаетесь аутентифицироватьas. bukzor
32

Если вы хотите толькоSSH несколько раз, например, на заимствованном или совместно используемом компьютере, попробуйте:

ssh [email protected]

или же

ssh -l buck hostname
Рассматривали ли вы что-то такое простое, как псевдоним sshhostname = & apos; ssh buck @ hostname & apos ;?
Спасибо, но я уже знаком с этим. Кажется излишним указывать бак @ хост, когда онalways понижающий @ хост. Я пытаюсь найти способ для представления этой информации в файле конфигурации. bukzor
Да, у меня есть. Ответ Learath2 - это именно то, что я искал. Я могу проверить это в своем репозитории dotfiles и больше не беспокоиться об этом. bukzor
Я взял псевдоним root, потому что я подключаюсь к компьютерам для разных клиентов, где мое имя пользователя отличается в каждой клиентской среде. Другой подход, который я предполагаю, состоит в том, чтобы иметь различные локальные среды оболочки для установки ssh и связанных настроек для каждого клиента. Или виртуальная машина для каждого клиента.
380

Создайте файл с именемconfig внутри~/.ssh внутри файла можете добавить:

Host *
    User buck

или добавить

Host example
    HostName example.net
    User buck

Во втором примере будет задано имя пользователя и имя хоста, а в первом - только имя пользователя. И когда вы используете второй, вам не нужно использоватьssh example.net, ssh example будет достаточно.

Черт, да, это исправило проблему со скриптом сборки. Круто, спасибо!
Кроме того, не забудьте chmod 600 в .ssh / config
Стоит отметить, что файл конфигурации будет обрабатываться сверху вниз, заполняя каждое поле (User, HostName ...) иskipping повторяющиеся поля, если совпадают несколько директив Host. Если вы определитеHost *, User jdoe наверху, а затем определитьHost example, HostName abc.example.com, User root, пытаясьssh example будет таким же, как если бы вы вошлиssh [email protected], Для того, чтобы определить ssh по умолчанию (т.е.User root), Host * директива должна бытьat the bottom из конфигурационного файла.
Моя компания использует SVN поверх SSH, и меня постоянно спрашивали «неправильно» пароль пользователя. Вместо того, чтобы быть проблемой SVN, это была проблема SSH. Мы недавно переместили наш SVN-сервер, и файл конфигурации был жестко запрограммирован на ip старого сервера. Используя подстановочный знак вместо IP-адреса в строке хоста, все работает нормально. Это также должно спасти некоторое разочарование, если в будущем мы переместим сервер на другой IP-адрес. Спасибо за этот ответ.
Вероятно, стоит указать, что согласноman ssh_config: Since the first obtained value for each parameter is used, more host-specific declarations should be given near the beginning of the file, and general defaults at the end. ИтакHost * раздел, вероятно, должен идти в конце.

Похожие вопросы