特定のホストのユーザーにアクセスしようとしています。私はこれに会ったポイント必要なドメインアカウントごとに新しいホストエイリアスを作成する手順を削除すると、改善できます。
~/.ssh/config
Host github.com bitbucket.org bitbucket.com
User git
Host *
Protocol 2
UseKeychain yes
AddKeysToAgent yes
IdentitiesOnly yes
IdentityFile ~/.ssh/%r@%h_id_rsa
Hostname
残念ながら、その他のプロパティとは異なり、これを設定してもPort
値User git
は変更されません。
$ ssh -Tv [email protected]
GitHubはまだユーザー認証を試みていますtarranjones
。git
debug1: Authenticating to github.com:22 as 'tarranjones'
解決策はありますか?
答え1
コマンドラインで指定されたユーザーをオーバーライドできません。デフォルト値は指定されていない場合にのみ提供されます(〜/ .ssh / configにデフォルト値が指定されていない場合は、返されwhoami
たログイン名が使用されます)。したがって、次のコマンドを使用すると、期待どおりに機能します。ssh -Tv github.com
次のように、実際のホスト名に対応する値だけでなく、実際にホストを任意の値に設定できます。
Host gh
Hostname gh
User git
それからそれを使うことができますssh -Tv gh
。
答え2
Host *
以下を削除することもできます。
IdentityFile %d/.ssh/%r@%h_id_rsa
Protocol 2
UseKeychain yes
AddKeysToAgent yes
IdentitiesOnly yes
Host github.com bitbucket.org bitbucket.com
User git
コマンドラインでユーザー名を指定しないでください。これにより、構成のユーザー名が上書きされます。
答え3
IdentityFile(~/.ssh/%r@%h_id_rsa)は、%r
認証%h
に使用されるリモートユーザーとリモートホストと常に同じです。
この例では、私は変更しました。Hostname
Host github.com bitbucket.org bitbucket.com
IdentityFile ~/.ssh/%r@%h_id_rsa
Hostname newhostname.com
テスト
$ ssh -Tv [email protected]
結果
debug1: Authenticating to github.com:22 as 'tarranjones'
debug1: Offering RSA public key: ~/.ssh/[email protected]_id_rsa
この例では変更しました。User
Host github.com bitbucket.org bitbucket.com
IdentityFile ~/.ssh/%r@%h_id_rsa
User git
テスト
$ ssh -Tv [email protected]
これで、リモートホスト名は変更されませんが、変更された場合は、対応するIdentityFile名が無効であることを意味します。
debug1: Authenticating to github.com:22 as 'git'
debug1: Offering RSA public key: ~/.ssh/[email protected]_id_rsa
percent_expand
リモートホスト名を使用すると、名前付き%h
IDファイルでは機能しません。認証に使用されるリモートホスト名と異なる場合は、必ずそれをハードコードする必要があります。
私が考えることができる最善はこれです。
#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/[email protected]_id_rsa