やりたいこと
SSH接続しているサーバーからwindowsマシンのローカルにファイルをDLしたい
状況
windowsのTeraTermからホストAにSSH接続している。
なお、サーバーの構成上踏み台ホストとしてホストXをかませているので「windows → ホストX → ホストA」の順番で接続している。
ほしいファイルはホストAにある。
発生しているエラー
TeraTermで効率良くファイル転送
↑の記事を参考にサーバーからWindowsクライアントにファイルを落とそうとした。
以下は記事からの引用。
1.TeraTermのメニューの「ファイル(F)」→「SSH SCP」を選択
2.「TTSSH: Secure File Copy」ウィンドウの下部に、以下のように入力
From: 転送したいLinux上のファイルパスを入力
To: 保存したいWindows上のパスを入力
3.「Receive」ボタンをクリック
しかし、エラー。
No such file or directory
?????
原因と解決策
踏み台としてホストXを使っていることが話をややこしくしていました。
ホストAにあるファイルをWindowsクライアントに落としたい場合、一度ホストAからホストXにscp
でコピーしてからでないといけないのです。
なので、ホストXにいる状態で
$ scp /pass/to/file/you/want/@hostA /pass/to/hostX
でファイルを「ホストA→ホストX(踏み台)」ににコピーする。
そのあと、先程引用した手順で「ホストX(踏み台)→windowsクライアント」にコピー。
(ここもscpでコマンドからコピーしてもいい)
めでたしめでたし。
Happy ever after.