Я использую VM дома для работы. Мое задание состоит из ssh'ing к нескольким компьютерам каждый день для различных вещей... с помощью ssh user@server
нотация достаточно легка для этого, но я столкнулся с некоторыми проблемами с некоторыми сценариями, я продолжаю работать. Когда мои сценарии работают, это пытается к ssh к полям с помощью моего текущего пользователя вместо пользователя, связанного с моей учетной записью LDAP на работе (и таким образом, не распознавая мой закрытый ключ). Строго говоря, мой пользователь дома caleb
, тогда как мой пользователь на работе ctote
.
Есть ли способ изменить мой .bashrc
или .ssh
конфигурации, чтобы вынудить ssh всегда использовать ctote
при попытке соединиться?
Да, используйте клиентскую конфигурацию SSH. Самый легкий путь состоит в том, чтобы создать конфигурацию локального пользователя в ~/.ssh/config
с этими двумя строками:
Host *
User ctote
Это соответствует всем хостам и применяет имя для входа в систему ctote
к нему.
Для применения/переопределения его для единственного хоста, Вы соединяетесь с ofen, используете, например:
Host myhost
User myusername
Hostname server01.subdomain01.longnamehuh.tld
Port 2222
сделать
ssh myusername@server01.subdomain01.longnamehuh.tld -p2222
в
ssh myhost
Премия: также работы для sftp/scp/git и т.д. И можно также сделать волшебство как этот вариант использования: Как делают меня SSH к машине через B в одной команде?.
Взгляните на страницу справочника клиентской конфигурации SSH для большего количества опций, которые можно указать и что синтаксис точно.
man ssh_config
Несомненно, можно создать ~/.ssh/config
файл и в этом:
Host laptop
User another-user
можно определить большинство опций SSH через подобранные хосту опции как это.