SSH基本操作

2021-09-26 23:47:15 字數 3403 閱讀 1119

ssh全稱secure shell,顧名思義意思是說更安全的shell。ssh是一種遠端登入和遠端執行命令的工具,實現了對遠端執行命令的加密。

首先檢視linux是否安裝了ssh:

$ ssh -v
如果輸出類似下面則說明已經安裝了openssh。

$ openssh_7.9p1 raspbian-10, openssl 1.1.1c  28 may 2019
如果輸出不是這樣,那麼開始安裝ssh。ubuntu上預設只安裝了openssh-client。

安裝client:

$ sudo apt-get install openssh-client
安裝server:

$ sudo apt-get install openssh-server
檢視sshserver是否啟動:

$ ps -e | grep sshd
若輸出類似:

$ 481 ttys000    0:00.00 grep sshd
則說明安裝成功。否則,需要手動啟動ssh。

$ service ssh start
安裝完成後,通過ssh連線其他主機:

$ ssh [host_name]@192.168.***x.***
然後會提示,輸入遠端主機的密碼,輸入後即可登入。接下來,就可對遠端電腦進行操作了。其他高深的ssh技能用到的地方不多,其他的指令可以通過以下方式了解:

$ ssh --help
常用選項有:

-1 強制使用ssh協議版本1

-2 強制使用ssh協議版本2

-4 強制使用ipv4位址

-6 強制使用ipv6位址

-a 開啟認證**連線**功能

-a 關閉認證**連線**功能

-b如果出現以下內容:

could not connect to 『192.168.244.128』 (port 22): connection failed.

說明,防火牆阻止了連線,關閉防火牆即可,具體方式自行搜尋一下就好。

另一種登入方式,是公鑰登入,其原理就是使用者將自己的公鑰儲存在遠端主機上。登入的時候,遠端主機會向使用者傳送一段隨機字串,使用者用自己的私鑰加密後,再發回來。遠端主機用事先儲存的公鑰進行解密,如果成功,就證明使用者是可信的,直接允許登入shell,不再要求密碼。

首先,這種方式必須要求使用者必須提供公鑰,如果沒有公鑰,可以生成乙個:

$ ssh-keygen
執行後,在$home/.ssh/目錄下,會新生成兩個檔案:id_rsa.pub和id_rsa。前者是你的公鑰,後者是你的私鑰。

此時,輸入一下指令即可將公鑰傳送給遠端主機的根目錄下,此時會在需要輸入一次遠端主機的密碼:

$ scp .ssh/idrsa.pub [email protected].***.***:/home/user_name/
在目標host主機上的操作,把拷貝過來的 id_rsa.pub 中的密匙寫入 authorized_keys,並給與其 600 許可權

$ cat id_rsa.pub >> .ssh/authorized_keys

$ sudo chmod 600 .ssh/authorized_keys

有時候會需要重啟一下ssh

$ service ssh restart
scp是secure copy的簡寫,主要用於linux進行遠端跨主機拷貝檔案。

命令格式:

scp [引數] [原路徑] [目標路徑]

命令引數

-1 強制scp命令使用協議ssh1

-2 強制scp命令使用協議ssh2

-4 強制scp命令只使用ipv4定址

-6 強制scp命令只使用ipv6定址

-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)的選項。

假設說,本機的ip為 192.168.0.105,遠端主機的ip為192.168.0.215,此時,準備將本機/home/user_name1/document下的a.cpp傳送到遠端主機的/home/user_name2/desktop目錄下,需要輸入以下指令:

$ scp /home/user_name1/document/a.cpp [email protected]:/desktop
如果是在ip為192.168.0.215的主機中,想遠端拷貝ip為 192.168.0.105主機/home/user_name1/document下的a.cpp檔案,到本地/home/user_name2/desktop資料夾下,輸入以下指令:

$ scp [email protected]:/document/a.cpp /home/user_name2/desktop
整個檔案下的檔案進行拷貝,和 cp 一樣,引數加上 -r 就行,例如,本機ip為 192.168.0.105,拷貝/home/user_name1/download資料夾下所有的檔案,到ip為192.168.0.215的遠端主機的/home/user_name2/document資料夾下:

$ scp -r /download [email protected]:/document

本文只是列舉了一些常用的ssh方法,不足之處,多多包涵。

最後在文末,引入乙個大神的鏈結,很詳細的列舉出了linux的常用指令。

linux常用指令大全

ssh基本用法

ssh客戶端的基本用法 最常用功能,1.經由安全連線登入到遠端計算機。2.通過安全連線在計算機間拷貝檔案。當你第一次連線ssh伺服器時,出現問答時要回答 yes 把已知名主機的金鑰的公共部分拷貝乙份存在本地。之後你每次連線這台伺服器,就用這個公鑰來驗證遠端主機。最好是能在首次連線前就能獲得這個公鑰,...

ssh基本設定

運維在使用跳板機的時候一般都使用ssh 來遠端連線伺服器進行操作,但是如果伺服器過多密碼過於繁瑣,在連線時每次都要輸入密碼相當麻煩。因此簡單的配置ssh秘鑰登入就顯得比較方便了。目前的ssh秘鑰分為兩種 rsa和dsa 兩種演算法 dsa其安全性與rsa差不多 步驟一 ssh keygen 這裡可以...

ssh常用操作

介紹ssh sshpass scp等linux下遠端操作常用的命令 ssh通過終端遠端linux伺服器的常用命令 ssh root 192.168.1.100 以root使用者鏈結到目標伺服器,連通時會提示輸入密碼 ssh jack 192.168.1.100 以jack使用者登入的遠端伺服器 ss...