scpでホスト名にスラッシュが入る時の対処法
今日は sshでハマりました.
リモートサーバ上には file/dir
が存在するはずなのに存在しないと言われる.
$ ssh web/shuzon.ap-northeast-1 $ ls / /hoge ... $ scp -r web/shuzon.ap-northeast-1:/hoge hoge cp: web/shuzon.ap-northeast-1:/hoge: No such file or directory
実はこれホスト名に /
スラッシュが入っていると起こる現象です.
ホスト名はエスケープできない です
$ scp web3\/shuzon.ap-northeast-1:/hoge /hoge cp: scp web3\/shuzon.ap-northeast-1:/hoge /hoge: No such file or directory $ scp web3\\/shuzon.ap-northeast-1:/hoge /hoge cp: scp web3\/shuzon.ap-northeast-1:/hoge /hoge: No such file or directory
これはホスト名を変えるしかありません.
変えましょう.
ちなみにRFCでホスト名の予約語として /
が登録されています.
使っちゃダメなんですねー.
RFC 2396 - Uniform Resource Identifiers (URI): Generic Syntax
今日はここまで