これまでとりあえずコピペで済ましてきたところもあるので勉強と復習も兼ねて
ProxyCommandによる多段ssh
.ssh/config
Host 接続先名
HostName 接続先IP
ProxyCommand ssh -W %h:%p 踏み台
- 接続ユーザを指定したい場合には -l オプション。-l オプションで指定した場合と接続先の前に@でくっつけた場合の違いってなんなんだろう。
- HostNameを省略するとHostが使われる
参考
リモートでのコマンド実行
リダイレクトはローカルになる
ssh 接続先 cat < ローカルファイル
ssh 接続先 cat リモートファイル < ローカルファイル
リモートにリダイレクトしたい場合
ssh 接続先 'cat < リモートファイル'
ssh 接続先 'cat リモートファイル > リモートファイル'
ssh 接続先 cat リモートファイル\> リモートファイル
実行したいコマンドをクォートした場合の挙動
# インタラクティブシェル(bash -c $command)として実行される
ssh 接続先 'cat < リモートファイル'
# ログインシェル(-bash $command)として実行される
ssh 接続先 cat リモートファイル\> リモートファイル
-bash と bash -c の違いに関しては下記参照
bashのログインシェルとインタラクティブシェル