11

Какую запись я должен добавить в свой файл .bashrc чтобы я мог указать пользователя по умолчанию для выполнения соединений SSH? Например, если я хочу, чтобы он был пользователем root, и чтобы SSH обращался к x, если я ssh x , по умолчанию должно использоваться соединение ssh root@x .

По умолчанию Linux кажется по умолчанию любому пользователю, в котором вы вошли. То есть, если я вошел в систему как "peter", ввод ssh x приведет к соединению ssh peter@x .

Имейте в виду, я все еще хочу переопределить время от времени по умолчанию, так что делать что-то вроде

alias ssh='ssh root@'

это не самое идеальное решение.

2 ответа2

30

Лучшим решением, чем поместить псевдоним в ваш bashrc, было бы использование файла конфигурации ssh

cat ~/.ssh/config

HOST *  
     USER root

Вы также можете указать определенные поддомены использования определенных пользователей. Полезно, если ваш ноутбук путешествует между сетями.

HOST 192.168.*.*
     USER homeuser

HOST 10.2.*.*
     USER workuser

Вы даже можете настраивать по доменам и использовать разные ключи ssh для разных доменов.

HOST *.microsoft.com
     USER bill
     IdentityFile ~/.ssh/microsoft/id_rsa

HOST *.apple.com
     USER steve
     IdentityFile ~/.ssh/apple/id_rsa
1

Вы можете сделать псевдоним для ssh, используя опцию -l, поэтому:

псевдоним ssh = 'ssh -l defaultuser'

Опция -l дает имя для входа в систему, но интересно то, что пользователь, если таковой имеется, перед тем, как информация о хосте переопределяет это. Так что, если вы начнете

хост ssh

После установки псевдонима выше он войдет как defaultuser, а если вы запустите

ssh newuser @ host

В любом случае получит newuser, а не defaultuser из опции "-l"

Это работает по крайней мере на некоторых установках OpenSSH, которые поставляются со стандартными дистрибутивами Linux.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .