[Linux]scp/sshpass:物理主機與虛擬機的文件傳輸


最初寫這篇文章的時候,對 openssh大家族的工具套件(例如: ssh、sshd、ssl、scp等)不太熟悉,現在看來這個文章的標題(虛擬機與物理機)是存在問題的。
本質上,本文關心的並不是【虛擬機】與【物理機】的傳輸問題,而是使用scp套件工具在【本地機器】與【遠程機器】之間的文件傳輸場景。

1 scp:語法格式

scp 源文件路徑 用戶名@服務器地址:目的路徑

2 物理機與虛擬機數據傳輸

CMD(物理機): 將虛擬機的文件夾 拷貝到 物理機

scp -r vmUsername@VM_IP:/.../vmDir/ /.../physicalHostDir/

-r:文件夾,文件目錄

CMD(物理機): 將物理機的文件夾 拷貝到 虛擬機

scp -r /.../physicalHostDir/ vmUsername@VM_IP:/.../vmDir/

帶明文密碼拷貝 當前機器目錄下的文件 到 目標機器中

yum -y install sshpass

sshpass -p 200服務器root用戶密碼 scp -P 22 /tmp/log.csv root@192.168.149.200:/tmp
sshpass -p 'redhat' ssh root@192.168.1.1 'systemctl restart nginx'

3 Winodws與Linux數據傳輸

  • 注意1:因為windows系統本身不支持ssh協議.

    所以,要想上面的命令成功執行,必須在windows客戶端安裝ssh for windows的客戶端軟件,比如Openssh(客戶端+服務端)、winsshd、freeSSHd等,使windows系統支持ssh協議才行。

    Win10默認預安裝了openssh客戶端,openssh服務端未預安裝,可在Window【可選應用】中手動快速安裝Openssh服務端
  • 注意2:數據接受端需開啟ssh服務端服務
    例如,向windows上傳數據,則需要windows開啟ssh服務端服務
    以Windows向另一台windows傳輸數據為例L

上傳文件:Windows→Linux

scp C:\Users\zbh\Desktop\1.txt  lucas@192.168.11.150:/home/lucas/

下載文件:Windows←Linux

scp lucas@192.168.110.128:/home/lucas/world.txt C:\Users\zbh\Desktop\

上傳文件: Linux→Windows

scp /home/oracle/a.txt  administrator@192.168.3.181:/d:/

下載文件:Linux←Windows

scp administrator@192.168.3.181:/d:/test/config.ips /home/oracle

4 傳輸文件夾數據

scp -r /opt/SDCInstall/servers helloUser@xx.yy.zz.mm:/opt/SDCInstall/

X 參考文獻


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM