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假設說,本機的ip為 192.168.0.105,遠端主機的ip為192.168.0.215,此時,準備將本機/home/user_name1/document下的a.cpp傳送到遠端主機的/home/user_name2/desktop目錄下,需要輸入以下指令:-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)的選項。
$ 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...