Как заставить ssh войти в систему как правильный пользователь?

3926
bstpierre

Я использую ssh на разных машинах, в основном на Linux. Учетные записи на этих машинах различаются по схеме именования: если меня зовут First Last, то у меня есть учетные записи: first, flast, last_f, lastf, и иногда мне нужно войти в систему как root. Для каждой машины, которую я использую, я бы хотел, чтобы клиент openssh знал, какую учетную запись использовать, когда я не указываю в командной строке.

Таким образом, вопрос заключается в следующем: как мне сделать ssh server«Правильно», если имя пользователя не указано?

8

2 ответа на вопрос

18
Rich Adams

You can create a config file in your home .ssh directory, which can specify a default user, identity file etc and assign it to an alias which you can use to connect.

For example, you could put this into the ~/.ssh/config file:

Host example HostName example.com User first_last IdentityFile ~/.ssh/example_rsa Port 22 RSAAuthentication yes PubkeyAuthentication yes Host example2 HostName example2.com User last_first # other parameters as needed 

Then you can just type ssh example or ssh example2 on the command line to connect.

So you can set one up for each machine you want to connect to, with the relevant user. Then just use the aliases to connect without having to specify a user. You can also use a pattern to match multiple hosts.

There's more information, and details of what you can specify in a config file in the ssh_config man page.

я предполагаю, что вы можете указать другую пару пользователь / хост позже в файле? `Host example2 / HostName example2.com/User last_first` и такие? quack quixote 14 лет назад 0
Конечно!!!!!!!!!!!!!!!!!! innaM 14 лет назад 0
Безусловно, вы можете указать сколько угодно в одном файле .config. У меня более 20 без проблем. Я просто оставляю пробел между каждым отдельным хостом, который, вероятно, не требуется, но делает его более читаемым. Rich Adams 14 лет назад 3
Рич: Спасибо! Это прекрасно работает. bstpierre 14 лет назад 0
Разве это не файл `config`? Без точки в начале? danadam 14 лет назад 1
@danadam: Да, ты прав. Я обновил ответ соответственно. Благодарю. Rich Adams 14 лет назад 0
@rich пытался заставить вас показать другой сайт в вашем примере; Надеюсь, ты не возражаешь, что я иду вперед и бросаю это. quack quixote 14 лет назад 1
Отступы, отличные от строк, содержащих «Host foo», значительно помогают в поддержке. innaM 14 лет назад 4
@CristianCiupitu: Учитывая, что это вопрос Linux, вряд ли я бы назвал справочную страницу OpenBSD официальной. В Linux есть параметры * ssh * (например, * GSSAPIKeyExchange *), которые недоступны в версии BSD. Dennis 10 лет назад 1
@ Dennis, вы правы насчет того, что * GSSAPIKeyExchange * недоступен в версии OpenBSD, но, похоже, он предоставляется патчем, так что его нет и в переносной версии. Например, [FreeBSD 10] (http://www.freebsd.org/cgi/man.cgi?query=ssh_config&sektion=5&manpath=FreeBSD+10.0-RELEASE) его не имеет. Cristian Ciupitu 10 лет назад 0
@CristianCiupitu: Это еще одна версия BSD. Это приводит только к незначительным различиям (ни одна из них не имеет отношения к вопросу), но использование справочных страниц BSD для дистрибутивов Linux (и наоборот), как правило, плохая идея. Например, синтаксисы [BSD] (http://www.freebsd.org/cgi/man.cgi?query=stat "stat (1)") и [Linux] (http: //linux.die. net / man / 1 / stat "stat (1): состояние файла / файловой системы - man-страница Linux") * stat * абсолютно разные. Dennis 10 лет назад 0
@Dennis, все остальные BSD тоже используют портативную версию. Черт, есть даже [страница руководства Linux] (http://man7.org/linux/man-pages/man5/ssh_config.5.html), в которой не упоминается * GSSAPIKeyExchange *. Я согласен с тем, чтобы быть осторожным в смешивании справочной страницы BSD с Linux. Cristian Ciupitu 10 лет назад 0
1
guerda

According to Rich Adam's answer I found out for PuTTY where it stores its settings.

It's all stored in a registry tree, you'll find it under HKEY_CURRENT_USER\Software\SimonTatham (Simon Tatham is the developer of PuTTY).
There you can see how a host is defined.

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