Just do IT

思うは招く

scp コマンドで Permission denied が出てハマったときのメモ

結論

成功した方法はこちら。

scp -P [ポート番号] [リモートサーバに転送したいファイル] [ユーザーネーム]@[IPアドレス]:[転送先のファイルパス]

たとえば

$ scp -P 00 README.md lebron@111.111.111.11:/home/lebron/workspace/

成功すると、リモートサーバのworkspaceディレクトリ下にREADME.mdが作成されている。リモートサーバに入って確認できる。

※注意点

  • IPアドレス以降のパスはルートから書く点に注意すること。
  • そもそもリモートサーバにSSH接続できること。

失敗してた原因

  • リモートサーバのポート番号を変えていたのに指定してなかった。
    • -Pで指定した(大文字の点に注意)
  • 転送先のファイルパスが単に間違っていた(存在しないパスを書いてた)
  • Permission拒否ということでsudoをつけたが必要なかった。

気づき

ファイル名を変えて転送できること。

転送先のファイルパス名が存在しなくても、転送時にそれを作ってファイルに書き込んでくれる。 touchコマンドの、ファイル作成機能付きバージョンみたいな?

scpコマンド - Qiita