一種の設定ファイルでこれらのエイリアスを使用できますか?

一種の設定ファイルでこれらのエイリアスを使用できますか?

このような別名がたくさんあります。 = 前の部分は 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

関連情報