SSH公鑰(public key)驗證


安全的設置服務器 登陸,之前用用戶名和密碼登陸服務器 這樣不安全 ,用SSH公鑰(public key)驗證  這個辦法能很好的解決 登陸服務器 和安全登陸服務器 的特點:


目標: Client 免輸密碼ssh登錄Server

SSH支持多種登錄驗證方式,我們默認使用的是鍵盤交互方式(keyboard-interactive),也就是手工輸入密碼的那種。這里我們要改成公鑰(publickey)驗證方式,並且設置passphrase為空,以達到免輸密碼登錄的目的。

1. Client端:

cd ~/.ssh
#產生公鑰文件(id_dsa.pub)和私鑰文件(id_dsa), 類型DSA, 長度1024 bits
#注意詢問passphrase的時候直接回車
ssh-keygen -t dsa -b 1024
#將公鑰復制到遠程主機去
scp id_dsa.pub Server:~/.ssh/id_dsa.pub.Client     //例如:scp id_dsa.pub 用戶名@ip地址:目標路徑 
                                                                                             scp  -P 端口號 id_dsa.pub 用戶名@ip地址:目標路徑 

2. Server端:

cd ~/.ssh
#將Client的公鑰放入Server的信任列表
cat id_dsa.pub.Client >> authorized_keys
#更新權限,很重要
chmod 0600 *從此以后Client SSH登錄Server就不要手工輸入密碼了。


詳細設置參數 可參考  http://manpages.ubuntu.com/manpages/gutsy/zh_CN/man1/scp.1.html



scp是linux下的遠程拷貝

命令:

(1)將本地文件拷貝到遠程:scp  文件名 用戶名@計算機IP或者計算機名稱:遠程路徑 
(2)從遠程將文件拷回本地:scp  用戶名@計算機IP或者計算機名稱:文件名本地路徑
(3)將本地目錄拷貝到遠程:scp -r目錄名   用戶名@計算機IP或者計算機名稱:遠程路徑
(4)從遠程將目錄拷回本地:scp-r   用戶名@計算機IP或者計算機名稱:目錄名本地路徑

 

使用scp命令需要服務端linux提供ssh服務(linux默認是沒有安裝ssh服務的)

1.是否安裝ssh:可連接相應的ssh服務查看,sshhost;如出現:ssh: connect to host *** port22:Connection refused,說明尚未安裝ssh服務。

2.安裝ssh服務:sudo apt-get install openssh-server自動安裝ssh服務。

3.啟動:sudo /etc/init.d/sshstart

4.停止:sudo /etc/init.d/sshstop

5.配置:ssh默認的端口是22,可以修改配置文件更改端口,然后重啟ssh服務即可。(注:配置文件/etc/ssh/sshd_config)



說明:
該命令將在用戶的主目錄/.ssh目錄下面產生一對密鑰
一般采用的ssh的rsa密鑰: 
id_rsa     私鑰
id_rsa.pub 公鑰
下述命令產生不同類型的密鑰
ssh-keygen -t dsa 
ssh-keygen -t rsa 
ssh-keygen -t rsa1 

 


免責聲明!

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



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