scpの使用とよくある問題の解決


新しくベリーパイ4 Bを手に入れ、Debian 10ベースのシステムをインストールしたが、本機(Deepin)との間でファイルを転送する必要がある場合があり、いつもUディスクを挿入するのも不便で、scpに出会うまで、やっと私の焦眉の急を解決した.
1.scpとは?
scpはsecure copyの略で、scpはlinuxシステムの下でsshログインに基づいて安全なリモートファイルコピーコマンドであり、他の伝送方式に比べてscpは暗号化され、安全性がかなり高い.
2.scp具体的なパラメータ
-1
強制scpコマンド使用プロトコルssh 1
-2
強制scpコマンド使用プロトコルssh 2
-4
強制scpコマンドはIPv 4アドレスのみを使用します
-6
強制scpコマンドIPv 6アドレスのみ使用
-B
バッチ・モードの使用(転送中に転送パスワードやフレーズを尋ねない)
-C
圧縮を許可します.(-Cフラグをsshに渡して圧縮機能を開く)
-p
元のファイルの変更時間、アクセス時間、アクセス権を保持
-q
転送スケジュールバーを表示しない
-r
ディレクトリ全体を再帰的にコピー
-v
出力を詳細に表示します.scpおよびssh(1)は、プロセス全体のデバッグ情報を表示します.これらの情報は、接続のデバッグ、検証、構成の問題に使用されます.
-c cipher
cipherでデータ転送を暗号化します.このオプションはsshに直接渡されます.
-F ssh_config
代替のsshプロファイルを指定します.このパラメータはsshに直接渡されます.
-i identity_file
指定したファイルから転送時に使用する鍵ファイルを読み出し、このパラメータはsshに直接渡されます.
-l limit
ユーザが使用できる帯域幅をKbit/s単位で限定する
-o ssh_option
ssh_の使用に慣れている場合はconfig(5)におけるパラメータ伝達方式
-P port
注意大文字のP、portはデータ転送に使用するポート番号を指定します
-S program
暗号化転送時に使用するプログラムを指定します.このプログラムはssh(1)のオプションを理解しなければならない.
3.scp小試牛刀
ネイティブIPが192.168.1.1、リモートホストのIPが192.168.1.2とする
#     (192.168.1.2) /home/pi/Documents/01.txt
#    (192.168.1.1) /home/long/Documents

scp pi@192.168.1.2:/home/pi/Documents/01.txt /home/long/Documents
#     (192.168.1.1) /home/long/Documents/led1.py
#    (192.168.1.2) /home/pi/source_code

scp /home/long/Documents/led1.py pi@192.168.1.2:/home/pi/source_code

実はそんなに多いパラメータ、よく使うのは-r、-Pなどのいくつかのパラメータだけです
4.よくある問題と解決方法
  • Linuxホストのsshデフォルトポートは22ですが、多くの人がセキュリティのためにポート番号を変更します.ポートエラー時にvi/etc/ssh/sshd_を通過configは現在のポート番号を表示し、コマンド「scp-P現在のポート番号」を入力すると
  • になります.
  • 接続に問題が発生した場合、「vi/etc/ssh/sshd_config」で「PasswordAuthentication no」を「PasswordAuthentication yes」
  • に変更します.
  • 「Permission denied」というメッセージが表示されたのは、権限が足りないため、権限を追加する必要がある可能性があります.「sudo chmodターゲットフォルダ」を使用すると、問題を解決できます.