.ssh/configでssh -Nに対応するオプションは何ですか?

.ssh/configでssh -Nに対応するオプションは何ですか?

このコマンドと同じ結果を使用して構成ファイルにエイリアスを設定したいと思います。

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.cOpenSSH 7.6p1では、次のものを見つけます。

            case 'N':
                    no_shell_flag = 1;
                    options.request_tty = REQUEST_TTY_NO;

2つ以上-N

  • これはorオプションno_shell_flagにのみ表示され、ssh.cそのオプションに対してのみ有効になります。それ以外の場合は、バックグラウンドフォークに関連する完全性チェックに関連するいくつかの論理ブロックに表示されます。自分で設定できるオプションは表示されません。-W-NControlPersist
  • readconf.c対応するオプションに従って説明されます。request_ttyRequestTTYssh_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移植可能ですが、入力(存在する場合)を消費または失敗する可能性があります(標準入力が閉じられている場合)。別のオプションはブロックするだけを実行してください。

おすすめ記事