MacOSでSSH経由でVNCでアクセスする場合、SSHのポートフォワードとVNCクライアントを同時に起動/後片付けをしなければならないので、こちらを簡単にするためのシェルスクリプトの方法です。
作業としては2パートに分かれます
- OSX標準のBashが古いので4系にバージョンアップする
- シェルスクリプトの作成
Bashのバージョンアップ
HomeBrewを使ってBashをインストールします。
$ brew install bash
/etc/shellに標準Shellとして下記を登録する
$ sudo vi /etc/shell
下記を追記
##/usr/local/bin/bash##
chshコマンドを利用してShellをインストールしたものに変更
$ chsh
Shellの項目を下記に書き換えます。
Shell: /usr/local/bin/bash
terminalを再起動
下記コマンドでbashが4系になっていることを確認
echo $BASH_VERSION
スクリプトの作成
下記のようなこんなスクリプトを作成
('vps'は接続先のホスト名 .ssh/configで記載)
#!/usr/local/bin/bash
coproc ssh -L 5901:localhost:5901 vps
open vnc://localhost:5901
echo exit >&${COPROC[1]}
wait
以上で、上記スクリプトを起動すればポートフォワードしながらvnc(画面共有)が立ち上がります。
画面共有のプロセスを落とせば自動的にポートフォワードのプロセスも終了します。