scpコマンド初めて使ったので備忘録として書いておく
SCPコマンドとは
SCPコマンドとはlinuxでsshプロトコルを利用してマシンとファイルをやり取りするためのコマンド
使い方
基本
[code]scp username@IpOrHostName:sourcepath username@IpOrHostName:destpath[/code]
ローカルからリモート
[code]scp sourcepath remoteusername@IpOrHostName:destpath[/code]
リモートからローカル
[code]scp remoteusername@IpOrHostName:destpath sourcepath[/code]
ローカルからリモート(ssh configを用いた例)
[code]scp sourcepath registhostname:destpath[/code]
リモートからローカル(ssh configを用いた例)
[code]scp registhostname:sourcepath destpath [/code]
オプション
オプション | 意味 |
---|---|
-B | バッチモードで動作する(パスワード入力などを求めない) |
-l リミット | 使用帯域をKbit/秒単位で指定する |
-p | コピー元のタイムスタンプやパーミッションを保持する |
-P ポート番号 | 接続に使用するポート番号を指定する |
-i IDファイル | 接続に使用する公開鍵ファイルを指定する |
-C | 全ての通信を圧縮する |
-c 暗号化方法 | 通信を暗号化する方法を指定する(「3des」「blowfish」「des」が指定可能) |
-1 | SSHv1(SSHプロトコルバージョン1)だけを使用する |
-2 | SSHv2(SSHプロトコルバージョン2)だけを使用する |
-4 | IPv4だけを使用する |
-6 | IPv6だけを使用する |
-F 設定ファイル | SSHの設定ファイルを指定する |
-o 設定パラメータ | SSHの設定パラメータを指定する(設定ファイルに書かれた内容より優先される) |
-q | エラーメッセージや診断メッセージを表示しない(quiet mode) |
-v | デバッグメッセージを表示する(verbose mode) |
具体例
ローカルからリモート
[code]scp -P 22 -i ~./ssh/id_rsa /home/test.txt tsujiikenta@192.168.0.2:/home/test.txt[/code]
リモートからローカル
[code]scp -P 22 -i ~./ssh/id_rsa tsujiikenta@192.168.0.2:/home/test.txt /home/test.txt[/code]
ローカルからリモート(ssh configを用いた例)
[code]scp /home/test.txt KentaHomeServer:/home/test.txt[/code]
リモートからローカル(ssh configを用いた例)
[code]scp KentaHomeServer:/home/test.txt /home/test.txt[/code]
はまった点
permission denied (publickey)
というエラー。自分の場合はローカルからリモートにファイルを転送したのですが、転送先のディレクリに権限がなかった。。。。
同じ現象の方はローカルファイル、転送先の権限確認してみてください!
以上
コメント