リモートホストへの VNC 接続を作成するための小さなスクリプトで奇妙な問題が発生しています。スクリプトは、VNC セッション用の SSH トンネルを作成し、ビューアーを開きます。たった 2 行で、手動でシェルにコピーすると問題なく動作します。ただし、スクリプトを呼び出すと、VNC ビューアーが次のエラーで失敗します。
main: unable to connect to host: Connection refused (111)
スクリプトは次のとおりです。
#!/bin/bash
ssh -N -L5903:localhost:5903 username@example.com &
vncviewer :3
トンネルはプロセス全体を通して存在するため、それは問題ではありません。権限も同様です。スクリプトを root として実行すると、同じエラーが発生します。公開鍵認証を設定しているので、ssh がパスワードを要求しているわけではありません。
私は何が欠けていますか?シェルに入力すると、コマンドが機能します。
前もって感謝します。