コマンドを入力せずに、サーバーへのsshログインで実行するコマンドをセットアップできるようにしたいと思います。基本的に私は同等のssh設定ファイルを探しています:
ssh Host command
入力する必要があるのは次のとおりです:
ssh Host
コマンドが実行されます。
承認済みキーファイルにコマンドを挿入することもできます。 (~/.ssh/authorized_keys
)。これにより、ファイル内の各キーに対してカスタムコマンドを実行できます。これを使用して、ファイアウォール経由でシェル接続を転送します。その結果、1つのホストにsshでき、セッションをネットワーク内のホストに自動的に接続します。 authorized_keys
エントリは次のようになります。
command="ssh -Tq <hostname> \"$SSH_ORIGINAL_COMMAND\"",no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty ssh-rsa AAAA... the rest of the key ...
より具体的には、リダイレクトは私のgitoliteインスタンス用です。これにより、gitoliteホストを外部アクセスに直接公開することなく、単純な外部アクセスが可能になります。詳細については、manページを確認してください。 ( http://linux.die.net/man/8/sshd )
OpenSSHを実行している場合、~/.ssh/rc
は ログイン時に実行 のようになります。
あなたは.ssh/config file
でこれを冷たく解決します、コマンドを実行したいホストのために、追加します
RequestTTY yes
RemoteCommand <some command>
ここで、<some command>
はコマンドです。これはscreenまたはtmuxでも機能します。
Bashエイリアスを設定できます。
.bashrcファイルに次のように記述します。
alias ssl='ssh some_Host run_command'
そうすれば、ホスト名を入力する必要すらありません。
または、これを複数のホストで実行する場合(および複数のエイリアスが機能しない場合)、小さなスクリプトを使用します。
kevin@box:~$ cat ssl.sh
#!/bin/sh
ssh $1 some_command
kevin@box:~$