Linux SSh scp使用 遠端傳輸

2021-06-20 21:50:41 字數 2953 閱讀 5643

一:linux

ssh

scp的簡介及作用:

scp就是secure copy的簡寫,用於在linux下進行遠端拷貝檔案的命令,和它類似的命令有cp,不過cp只是在本機進行拷貝不能跨

伺服器. 有時我們需要獲得遠端伺服器上的某個文

件,該伺服器既沒有配置ftp伺服器,也沒有做共享,無法通過常規途徑獲得檔案時,只需要通過簡單的scp命令便可達到目的。

一、linux ssh scp 的使用方法

1將本機檔案複製到遠端伺服器上

#scp  /home/test/item.txt  [email protected]:/etc/test

/home/test/ 本地檔案的絕對路徑;

item.txt 要複製到伺服器上的本地檔案 ;

root 通過root使用者登入到遠端伺服器(也可以使用其他擁有同等許可權的使用者) ;

10.20.61.160 遠端伺服器的ip位址(也可以使用網域名稱或機器名) ;

/etc/test將本地檔案複製到位於遠端伺服器上的路徑 ;

如圖通過root使用者登入遠端伺服器,輸入yes表示同意建立ssh連線

按提示輸入root使用者的密碼 ;

2將本地目錄上傳到遠端伺服器上:

# scp-r/home/test/   [email protected]:/etc/test

-r 引數表示遞迴複製(即複製該目錄下面的檔案和目錄);/home/test/表示準備要上傳的目錄,[email protected]:/etc/test表示使用root使用者登入遠端伺服器,:/etc/test 表示儲存在遠端伺服器上的目錄位置。

3將遠端伺服器上的檔案複製到本機

#scp   [email protected]:/usr/local/sin.sh

/home/test

root 通過root使用者登入到遠端伺服器(也可以使用其他擁有同等許可權的使用者)

10.20.61.160 遠端伺服器的 ip位址(當然也可以使用該伺服器網域名稱ip位址)

/usr/local/sin.sh 欲複製到本機的位於遠端伺服器上的檔案

/home/testr 將遠端檔案複製到本地的絕對路徑

4將遠端伺服器上的目錄複製到本機

# scp-r[email protected]:/user/local/   /home/test/

r 引數表示遞迴複製(即複製該目錄下面的檔案和目錄);[email protected] 表示使用root使用者登入遠端伺服器www.vpser.net,:/user/local

/ 表示遠端伺服器上的目錄,最後面的/home/test/表示儲存在本地上的路徑。

5可能有用的幾個引數 :

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

-c 使能壓縮選項 .

-4 強行使用 ipv4 位址 .

-6 強行使用 ipv6 位址

注意兩點:

1.如果遠端伺服器防火牆有特殊限制,scp便要走特殊埠,具體用什麼埠視情況而定,命令格式如下:

#scp  -p  4588  [email protected]:/usr/local/sin.sh  /home/administrator

2.使用scp要注意所使用的使用者是否具有可讀取遠端伺服器相應檔案的許可權。

1. ssh登入基本命令為

ssh  192.168.1.1

表示登入到192.168.1.1主機

2. 刪除ssh中舊的rsa key

登陸過的伺服器的rsa公鑰儲存在.ssh/known_hosts中,由於更換了伺服器,使用了相同ip,這會導致公鑰與伺服器的私鑰配對失敗,無法登陸伺服器。這時候需要刪除舊伺服器(192.168.1.254)的公鑰才行,操作如下:

ssh-keygen -f "~/.ssh/known_hosts" -r 192.168.1.254

3. 使用scp命令傳送檔案

scp的基本命令格式為:

$scp [user1@]host1:]file1 [user2@]host2:]file2

將把host1的file1傳送到host2的file2

scp傳送目錄/資料夾命令加上-r選項

$scp -r [user1@]host1:]folder1 [user2@]host2:]folder2

4. scp的簡單優化

在選項中加入-c選項,c是大寫,這個選項指明使用壓縮傳輸方式,傳輸速率會有很大提公升

5. ssh可以登入,但是scp不能使用

我自己的經驗是scp命令格式寫錯了,我當時是把要傳送的檔名寫到了scp的選項的前面,應當先寫選項然後才是原始檔,目標檔案

6. ssh直接遠端執行命令

ssh [email protected] ls -l

如果執行的命令需要使用sudo許可權,那麼這麼寫

ssh [email protected] sudo -s mkdir test

要加上大寫的s選項,否則會報錯sudo: no tty present and no askpass program specified

Linux ssh scp自動執行

linux expect自動登入ssh,ftp 張映 發表於 2012 09 07 分類目錄 linux expect是一種能夠按照指令碼內容裡面設定的方式與互動式程式進行 會話 的程式。根據指令碼內容,expect可以知道程式會提示或反饋什麼內容以及 什麼是正確的應答。它是一種可以提供 分支和巢狀...

Android dab遠端除錯使用

當無法通過usb方式真機除錯時,還可以選擇adb遠端除錯的方法.條件 電腦和手機需要在同乙個區域網內環境下 手機需用wifi連線電腦所在的區域網 一 手機端 1 預設情況下,adb的連線方式為usb,所以需要更改adb的連線方式.在你的手機上開啟終端模擬器輸入如下命令 命令列root許可權下 set...

使用git遠端倉庫

第1步 建立ssh key。在使用者主目錄下,看看有沒有.ssh目錄,如果有,再看看這個目錄下有沒有id rsa和id rsa.pub這兩個檔案,如果已經有了,可直接跳到下一步。如果沒有 ssh keygen t rsa c youremail example.com 第2步 登陸github,進入...