現在のgithubアカウントを切り替えられるようにssh構成ファイルを更新すると、iTermを再起動しない限り、変更は正しく機能しません。 githubアカウントの切り替えを自動化するスクリプトを作成しています。更新された構成ファイルの構成設定をスクリプトに再読み込みさせたいのですが。どうすればこれを達成できますか?
私の場合、問題は設定ファイル(ssh -vvv -F /dev/null -i /some/path/some_other_key
および~/.ssh/
の古いキーを別の場所に移動することでもないにもかかわらず、古いキーをどこからでも魔法にかけることができた)ではないことが最終的にわかりましたが、むしろssh agent
。 ssh-add -D
でクリアする必要がありました。
man ssh_config
は、ssh
の-i
が~/.ssh/config
ファイルよりも優先されることを明確にします。そのため、これを行ってもまだ機能しない場合は、文書化されていない、より高い優先度のパワーが使用されています。
複数のIDの使用について Atlassianのドキュメント を参照することをお勧めします。私があなたが説明していると思われるようなケース-アカウントの切り替え-は、スクリプトの代わりに複数のアカウントに同時に対応するSSH構成ファイルで処理するのが最適です。
〜/ .ssh/configにあるconfig
ファイルの次の例を提供します。
# Default GitHub user
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/personalid
# Work user account
Host bitbucket.org
HostName bitbucket.org
PreferredAuthentications publickey
IdentityFile ~/.ssh/workid
ファイルを「更新」する方法を探していたときに、実際に探しているのはコマンドを自動補完する方法であることに気付きました。
上記の@Jakujeで述べたように、更新は必要ありませんでした
オートコンプリートスクリプトに興味のある方は、次のとおりです。
complete -o default -o nospace -W "$(grep "^Host" $HOME/.ssh/config | cut -d" " -f2)" scp sftp ssh
私が見つけたのは here です。
上記のスクリプトを.bash_profile
に追加してから、source .bash_profile
を実行します