背景
私はPHP開発者であり、新しいことを始めました。同社は多数のDockerインスタンスを持っており、特定のGitブランチの確認など、複数のバージョンを起動できます。システムは、キーとアクセス権を持つすべての関連ファイルをコピーします。
それらが回転すると、最終的に別のSSHアドレスが生成されます。一般的なコマンド:期待どおりに機能します。ssh [email protected]
しかし、私は複数のキーを使って作業しています(キーを個別に循環し、秘密鍵と秘密鍵を関連付けないままにすることができます)。起動されたすべてのインスタンスは同じキーを使用します。
これを行うには、ssh -i [path to key] [user@domain]
毎回入力するのが面倒です。
BashとMySQLでは、ユーザー名/パスワード/何でも入力するように求められますmysql -u -p
。私は良い効果を得るためにエイリアスやBashスクリプトを何度も使用しました。
エイリアスをssh_test
次に設定ssh -i [path to key]
し、(多くの)入力を保存するためにアドレスを要求するようにしたいと思います。
質問
ssh
アドレスを求める方法でこのコマンドをどのように使用できますか?
よろしくお願いします。
答え1
~/.ssh/config
そのためにファイルを作成します。
# everything else matches this
Host *
IdentityFile ~/.ssh/id_rsa
Host server1
Hostname server1.fqdn
IdentityFile ~/.ssh/server1
Host server2
Hostname server2.fqdn
IdentityFile ~/.ssh/server2
Host server3
Hostname server3.fqdn
IdentityFile ~/.ssh/server3
たとえば、SSHクライアントを使用すると、ssh server2
SSHクライアントは自動的に~/.ssh/server2
キーを取得して使用します。Host server2
上記のssh設定ファイルと一致するためです。
これにより、ssh anyotherserver
SSHクライアントが自動的に選択され使用されます~/.ssh/id_rsa
。Host *
上記のssh設定ファイルと一致するためです。
答え2
Bashを使用する場合は、以下にキーファイルを指定する必要があります。
echo “alias ssh_test=‘ssh -i <path/key>’ >> ~/.bashrc