Как заставить пользователя в файле конфигурации ssh

Как следует из названия, это архив cpio . Он был заархивирован. Итак,

zcat file | cpio -vt

даст вам содержание.

1
14.02.2017, 15:20
3 ответа

Вы не можете переопределить пользователя, указанного в командной строке. Указывайте значение по умолчанию только тогда, когда ничего не указано (если в вашем ~ / .ssh / config не указано значение по умолчанию, будет использоваться ваш логин, возвращенный whoami ). Таким образом, он будет работать по желанию, если вы используете: ssh -Tv github.com

Обратите внимание, что вы можете установить для Host любое значение, а не только то, которое соответствует фактическому имени хоста, например:

Host gh
    Hostname gh
    User git

Затем вы можно использовать ssh -Tv gh .

3
27.01.2020, 23:34

% r и % h в IdentityFile (~/.ssh/%r@%h_id_rsa) всегда будут такими же, как удаленный пользователь и удаленный хост, используемые для аутентифицировать.

В этом примере я изменил Имя хоста

Host github.com bitbucket.org bitbucket.com
  IdentityFile ~/.ssh/%r@%h_id_rsa
  Hostname newhostname.com

Тест

$ ssh -Tv tarranjones@github.com

Результат

debug1: Authenticating to github.com:22 as 'tarranjones'
debug1: Offering RSA public key: ~/.ssh/tarranjones@newhostname.com_id_rsa

В этом примере я изменил Пользователь

Host github.com bitbucket.org bitbucket.com
  IdentityFile ~/.ssh/%r@%h_id_rsa
  User git

Тест

$ ssh -Tv tarranjones@github.com

Теперь имя удаленного хоста не изменится но если бы он изменился, это просто означало бы, что соответствующее имя IdentityFile было бы неправильным.

debug1: Authenticating to github.com:22 as 'git'
debug1: Offering RSA public key: ~/.ssh/git@github.com_id_rsa

Использование percent_expand для имени удаленного хоста % h не будет работать для присвоения имени файлу идентификации. Это всегда нужно будет жестко запрограммировать, если вы хотите, чтобы оно отличалось от имени удаленного хоста, используемого для аутентификации.

Лучшее, что я мог придумать, это вот что.

#Set Git User Domains
Host *-github.com *-bitbucket.org *-bitbucket.com
  User git

#IdentityFile
Host tarranjones-*
  IdentityFile ~/.ssh/tarranjones@%h_id_rsa

Host otherusername-*
  IdentityFile ~/.ssh/otherusername@%h_id_rsa

#Hostnames
Host *-github.com
  Hostname github.com

Host *-bitbucket.com *-bitbucket.org
  Hostname bitbucket.org

Host *
  Protocol 2
  UseKeychain yes
  AddKeysToAgent yes
  IdentitiesOnly yes

Использование

$ ssh -Tv tarranjones-github.com

Результат

debug1: Authenticating to github.com:22 as 'git'
debug1: Offering RSA public key: ~/.ssh/tarranjones@github.com_id_rsa

См. Обновленный список

0
27.01.2020, 23:34

Хост * также можно удалить:

IdentityFile %d/.ssh/%r@%h_id_rsa
Protocol 2
UseKeychain yes
AddKeysToAgent yes
IdentitiesOnly yes

Host github.com bitbucket.org bitbucket.com
  User git

Не указывайте имя пользователя в командной строке, так как это переопределит имя пользователя в конфигурации.

0
27.01.2020, 23:34

Теги

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