在CentOS7中rcp已經不再默認安裝,而是使用更加安全的scp。
scp [-12346BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file] [-l limit] [-o ssh_option] [-P port] [-S program] [[user@]host1:]file1 … [[user@]host2:]file2
scp在網絡中的主機間進行文件復制。它用ssh(1)進行數據傳輸及身份驗證,通過與ssh(1)相同的安全保護。如果需要身份驗證,scp會要求輸入口令。
文件名可以包含用戶名和主機名的格式,以指定要將文件復制到該主機或從該主機復制該文件。可以使用絕對路徑或相對路徑展示本地文件名,以避免scp將包含”:”的文件名視為主機說明符。也允許在兩個遠程主機之間相互復制。
(1).選項
-1 強制scp使用協議1 -2 強制scp使用協議2 -3 兩個遠程主機之間的復制通過本地主機傳輸。如果沒有此選項,數據將直接在兩個遠程主機之間復制。注意:此選項會禁用進度表。 -4 強制scp僅使用IPv4地址 -6 強制scp僅使用IPv6地址 -B 選擇批處理模式(防止要求輸入口令) -C 啟用壓縮。將-C標志傳遞給ssh(1)以啟用壓縮。 -c cipher 選擇用於加密數據傳輸的密碼。此選項直接傳遞給ssh(1) -F ssh_config指定每個用戶替代的ssh配置文件。此選項直接傳遞給ssh(1) -i identity_file 選擇從公鑰認證讀取的身份標識(私鑰)的文件。此選項直接傳遞給ssh(1) -l limit 限制使用的帶寬,以kbit/s為單位 -o ssh_option 可用ssh_config中使用的格式傳遞ssh選項。這對於沒有單獨的scp命令行標志的指定選項很有用。有關下列選項及其可能值的完整信息,見ssh_config(5)。 AddressFamily、BatchMode、BindAddress、CanonicalDomains、CanonicalizeFallbackLocal、CanonicalizeHostname、CanonicalizeMaxDots、CanonicalizePermittedCNAMEs、
CertificateFile、ChallengeResponseAuthentication、CheckHostIP、Cipher、Ciphers、Compression、CompressionLevel、ConnectionAttempts、ConnectTimeout、ControlMaster、
ControlPath、ControlPersist、GlobalKnownHostsFile、GSSAPIAuthentication、GSSAPIDelegateCredentials、HashKnownHosts、Host、HostbasedAuthentication、HostbasedKeyTypes、
HostKeyAlgorithms、HostKeyAlias、HostName、IdentitiesOnly、IdentityAgent、IdentityFile、IPQoS、KbdInteractiveAuthentication、KbdInteractiveDevices、KexAlgorithms、
LogLevel、MACs、NoHostAuthenticationForLocalhost、NumberOfPasswordPrompts、PasswordAuthentication、PKCS11Provider、Port、PreferredAuthentications、Protocol、
ProxyCommand、ProxyJump、PubkeyAcceptedKeyTypes、PubkeyAuthentication、RekeyLimit、RhostsRSAAuthentication、RSAAuthentication、SendEnv、ServerAliveInterval、
ServerAliveCountMax、StrictHostKeyChecking、TCPKeepAlive、UpdateHostKeys、UsePrivilegedPort、User、UserKnownHostsFile、VerifyHostKeyDNS -P port 指定在遠程主機上連接的端口。注意:此選項”P”是大寫。 -p 保留原始文件的修改時間、訪問時間和模式 -q 靜默模式。禁用精度表以及來自ssh(1)的警告和診斷信息 -r 遞歸復制整個目錄。注意:scp遵循樹遍歷中遇到的符號鏈接 -S progrom 用於加密連接的program程序名稱。該程序必須了解ssh選項 -v 詳細模式。令scp和ssh(1)打印有關其進度的調試信息。這有助於調試連接,身份驗證和配置問題。
(2).實例
主要就是將遠程文件復制到本地,以及將本地文件復制到遠程主機。這里我准備了一台本地主機CentOS7和一台遠程主機CentOS6.8
1)將遠程文件復制到本地
遠程主機CentOS6.8准備被復制的文件
[root@CentOS6 桌面]# cd / [root@CentOS6 /]# ls bin dev home lib64 media mnt opt root selinux sys usr boot etc lib lost+found misc net proc sbin srv tmp var [root@CentOS6 /]# mkdir sw //創建文件夾 [root@CentOS6 /]# cd sw [root@CentOS6 sw]# cat>text1.txt<<EOF //創建text1.txt >test1's first line. > test1's second line. > test1's third line. > EOF [root@CentOS6 sw]# ll 總用量 4 -rw-r--r--. 1 root root 61 10月 10 21:51 text1.txt [root@CentOS6 sw]# touch text2 //創建text2 [root@CentOS6 sw]# ll 總用量 4 -rw-r--r--. 1 root root 61 10月 10 21:51 text1.txt -rw-r--r--. 1 root root 0 10月 10 21:51 text2
本地主機CentIS7復制遠程文件
[root@xuexi xf]# cd / [root@xuexi /]# ls bin dev home lib64 mnt proc run srv tmp var boot etc lib media opt root sbin sys usr [root@xuexi /]# scp -r root@192.168.128.224:/sw / //將遠程文件夾遞歸復制到本地根目錄下 The authenticity of host '192.168.128.224 (192.168.128.224)' can't be established. RSA key fingerprint is SHA256:1ttWCoSQF5u6ZEARHacvCnJeCHK3dCIbQ2ru+lWyAY8. RSA key fingerprint is MD5:1e:32:88:36:4f:7e:0b:3d:8f:13:47:d4:a5:96:a9:4a. Are you sure you want to continue connecting (yes/no)? y Please type 'yes' or 'no': yes Warning: Permanently added '192.168.128.224' (RSA) to the list of known hosts. root@192.168.128.224's password: text2 100% 0 0.0KB/s 00:00 text1.txt 100% 61 43.1KB/s 00:00 [root@xuexi /]# ls //可以看到根目錄下生成了文件夾sw bin dev home lib64 mnt proc run srv sys usr boot etc lib media opt root sbin sw tmp var [root@xuexi /]# cd /sw [root@xuexi sw]# ll 總用量 4 -rw-r--r--. 1 root root 61 10月 29 10:13 text1.txt -rw-r--r--. 1 root root 0 10月 29 10:13 text2 [root@xuexi sw]# cat text1.txt test1's first line. test1's second line. test1's third line.
2)將本地文件復制到遠程主機
本地主機CentOS7准備被復制文件,並復制到遠程主機CentOS6.8
[root@xuexi xf]# cd /sw [root@xuexi sw]# ls text1.txt text2 [root@xuexi sw]# cat>text3.txt<<EOF > This is the file for CentOS7. > EOF [root@xuexi sw]# scp text3.txt root@192.168.128.224:/sw/ root@192.168.128.224's password: text3.txt 100% 30 28.6KB/s 00:00
在遠程主機CentOS6.8中查看
[root@CentOS6 桌面]# cd /sw [root@CentOS6 sw]# ll 總用量 8 -rw-r--r--. 1 root root 61 10月 10 21:51 text1.txt -rw-r--r--. 1 root root 0 10月 10 21:51 text2 -rw-r--r--. 1 root root 30 10月 10 22:20 text3.txt [root@CentOS6 sw]# cat text3.txt This is the file for CentOS7.
注意1:在上面兩個實例中我分別復制了一個文件夾和一個文件,復制文件夾時請注意使用-r選項。
注意2:在第一次使用時,請確保ssh遠程可以正常使用
