scp使用說明與各類情況的應對


一、解決連接被拒絕問題

在准備通過scp指令將本地文件傳輸到服務器的時候出現ssh: connect to host * port 22: Connection timed out 的問題。講解決過程記錄如下:

1. 首先輸入ssh localhost 指令查看ssh是否安裝和啟動,如果未啟動輸入service ssh start,如果未安裝輸入apt-get install openssh-server。

2. 運行ps -e | grep ssh指令查看sshd是否啟動,如果未啟動輸入service sshd start。

3. 倘若以上都不可以,檢查防火牆是否開啟。

二·、解決訪問被拒絕問題

使用scp命令准備向目標服務器傳輸文件,但是遇到Permission denied這個問題,意思就是拒絕訪問。解決如下:

1.方法一:修改目錄的訪問權限(一般)

2.方法二:傳輸到/tmp目錄下,不需要權限(差)

3.方法三:在Client的root和Server的root之間建立安全信任關系(優)

 (1)在機器Client上root用戶執行ssh-keygen命令,生成建立安全信任關系的證書。

          [root@Clientroot]# ssh-keygen -b 1024 -t rsa

          Generatingpublic/private rsa key pair.

          Enter file inwhich to save the key (/root/.ssh/id_rsa):

          Enter passphrase(empty for no passphrase):          <-- 直接輸入回車則無密碼

          Enter samepassphrase again:                          <-- 直接輸入回車則無密碼

          Youridentification has been saved in /root/.ssh/id_rsa.

          Your public keyhas been saved in /root/.ssh/id_rsa.pub.

          The key fingerprintis:

          49:9c:8a:8f:bc:19:5e:8c:c0:10:d3:15:60:a3:32:1croot@Client

          [root@Clientroot]#

          注意:在程序提示輸入passphrase時直接輸入回車,表示無證書密碼。

          上述命令將生成私鑰證書id_rsa和公鑰證書id_rsa.pub,存放在用戶家目錄的.ssh子目錄中。

 (2)將公鑰證書id_rsa.pub復制到機器Server的root家目錄的.ssh子目錄中,同時將文件名更換為authorized_keys。
          [root@Client root]# scp -p .ssh/id_rsa.pub root@192.168.3.206:/root/.ssh/authorized_keysroot@192.168.3.206's password:          <-- 輸入機器Server的root用戶密碼  

          id_rsa.pub          100% |**************************|  218      00:00

          [root@Client root]#

          在執行上述命令時,兩台機器的root用戶之間還未建立安全信任關系,所以還需要輸入機器Server的root用戶密碼。

          經過以上2步,就在機器Client的root和機器Server的root之間建立安全信任關系。

三、使用說明

-r 若 source 中含有目錄名,則將目錄下之檔案亦皆依序拷貝至目的地。

-f 若目的地已經有相同檔名的檔案存在,則在復制前先予以刪除再行復制。

-v 和大多數 linux 命令中的 -v 意思一樣 , 用來顯示進度 . 可以用來查看連接 , 認證 , 或是配置錯誤 . 

-P 選擇端口 . 注意 -p 已經被 rcp 使用 . 


免責聲明!

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



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