このような別名がたくさんあります。 = 前の部分は SSH 構成のホストです。
alias sshConfigHost='ssh -t hostname docker exec -it containerName bash'
一種の設定ファイルに追加できますか?ホスト名は SSH 構成で定義されているため、2 回使用されます。%<whatever>
SSH設定からホスト名を取得するこのようなプレースホルダを持つことはできますか?
それ以外の場合は、少なくともSSH設定にコンテナ名を含めてから、プレースホルダを使用してcmdにインポートできますか?
答え1
sshConfigHost
私は、末尾の「パラメータ」なしでエイリアスを使用したいと仮定しますsshConfigHost -c "shell code here"
。
その場合は、次の項目にすべてを入れることができます~/.ssh/config
。
Host friendlyName
RequestTTY yes
Hostname hostname
RemoteCommand docker exec -it containerName bash
(そうであればHost *
覚えておいてください。各パラメータに対して最初に取得された値が使用されます。.)
これで、次のことができます。
ssh friendlyName
そしてssh
あなたのように振る舞うでしょう:
ssh -t hostname 'docker exec -it containerName bash'
Host …
必要に応じてセクションを定義します。それらのいくつかは同じかHostname
他のものを使用するかもしれませんRemoteCommand
。焦点はあなたにありますできる豊富な構成を構築すると、シェルで十分でssh oneword
構成が満たされます。すべてあなたにとっては状況によって異なりますoneword
。
構成ファイルは、意図的にすべてのオプションを指定できるほど強力です。望むよりman 5 ssh_config
。私はこの概念がきれいで便利であることがわかるまで、この概念(他のツールのようにコマンドラインでオプションなどを指定できますが、なぜ「あいまいな」構成で気にする必要があるのですか?)に恐れていました。これが正しい使い方ですssh
。通常、呼び出し時に繰り返し繰り返す必要がある場合は、ssh
構成ファイルに入れることをお勧めします。
これにより、シェルにエイリアスは必要ありません。全体構成はあなたのものです~/.ssh/config
。