このコマンドと同じ結果を使用して構成ファイルにエイリアスを設定したいと思います。
ssh -N devdb -L 1234:127.0.0.1:1234
私の.ssh/configエントリdevdb
:
Host devdb
User someuser
HostName the_hostname
LocalForward 1234 127.0.0.1:1234
シェルを起動したくない場合は、上記の設定に何を追加する必要がありますか?
ベストアンサー1
したがって、ssh.c
OpenSSH 7.6p1では、次のものを見つけます。
case 'N':
no_shell_flag = 1;
options.request_tty = REQUEST_TTY_NO;
2つ以上-N
:
- これはorオプション
no_shell_flag
にのみ表示され、ssh.c
そのオプションに対してのみ有効になります。それ以外の場合は、バックグラウンドフォークに関連する完全性チェックに関連するいくつかの論理ブロックに表示されます。自分で設定できるオプションは表示されません。-W
-N
ControlPersist
- に
readconf.c
対応するオプションに従って説明されます。request_tty
RequestTTY
ssh_config(5)
それから(OpenSSHをサルにパッチして再コンパイルしたり、オプションのssh_config
切り替えを要求することとは別にno_shell_flag
...)、次のような結果が残ります。
Host devdb
User someuser
HostName the_hostname
LocalForward 1234 127.0.0.1:1234
RequestTTY no
RemoteCommand cat
技術的にはシェルを起動しますが、シェルはすぐにプログラムcat
に置き換えられ、その後ポート転送の同時使用をブロックする必要があります。cat
移植可能ですが、入力(存在する場合)を消費または失敗する可能性があります(標準入力が閉じられている場合)。別のオプションはブロックするだけを実行してください。。