Edited at

sshについての諸々

More than 5 years have passed since last update.

これまでとりあえずコピペで済ましてきたところもあるので勉強と復習も兼ねて


ProxyCommandによる多段ssh


.ssh/config

Host 接続先名

HostName 接続先IP
ProxyCommand ssh -W %h:%p 踏み台


  • 接続ユーザを指定したい場合には -l オプション。-l オプションで指定した場合と接続先の前に@でくっつけた場合の違いってなんなんだろう。

  • HostNameを省略するとHostが使われる


参考

http://d.hatena.ne.jp/dayflower/20080204/1202457379


リモートでのコマンド実行


リダイレクトはローカルになる

ssh 接続先 cat < ローカルファイル

ssh 接続先 cat リモートファイル < ローカルファイル


リモートにリダイレクトしたい場合

ssh 接続先 'cat < リモートファイル'

ssh 接続先 'cat リモートファイル > リモートファイル'
ssh 接続先 cat リモートファイル\> リモートファイル


実行したいコマンドをクォートした場合の挙動

# インタラクティブシェル(bash -c $command)として実行される

ssh 接続先 'cat < リモートファイル'

# ログインシェル(-bash $command)として実行される
ssh 接続先 cat リモートファイル\> リモートファイル

-bash と bash -c の違いに関しては下記参照

bashのログインシェルとインタラクティブシェル


参考

sshでリモートコマンドを実行する時の書き方と注意点