例えば踏み台経由で接続する必要がある本番サーバーのログファイルなどをとりあえずローカルに持ってきたいとき。
ssh
経由で ssh
と dd
を実行すると実現できる。
(ディレクトリや複数ファイルを転送する場合はsshとtarを使えば実現できる)
実行例
踏み台 Ardbeg
を経由して、本番サーバー Bowmore
にある /etc/gentoo-release
というファイルをローカルに取得する。
[mazgi@BRUICHLADDICH] $ ssh Ardbeg ssh Bowmore 'dd if=/etc/gentoo-release' 2> /dev/null > gentoo-release
ファイル内容を検証してみる。
[mazgi@BRUICHLADDICH] $ ssh Ardbeg ssh Bowmore 'sha1sum /etc/gentoo-release' 2> /dev/null
353f7959473283c69f23618e9cb28d757bf1076a /etc/gentoo-release
[mazgi@BRUICHLADDICH] $ shasum gentoo-release
353f7959473283c69f23618e9cb28d757bf1076a gentoo-release
これで多段sshでもGentoo Linuxのバージョン確認できますね!
[mazgi@BRUICHLADDICH] $ < gentoo-release
Gentoo Base System release 2.2
なお、同じ内容の別ファイルを新しく作っているのでタイムスタンプやパーミッションは保持されない。