linux信任公鑰的配置


 

 

一、每個用戶都有自己的家目錄

 

訪問方式是:~/.ssh/id_rsa.pub

 

使用~就是表示家目錄。

 

具體家目錄在哪里,在用戶密碼配置文件中:/etc/passwd中。第6列的值就是。

 

可以使用~訪問家目錄。也可以直接輸入絕對路徑來訪問:/home/git/。

 

每個用戶都有一個自己信任列表文件,配置在:~/.ssh/authorized_keys

 

里面放的就是每個用戶信任哪些公鑰。

 

a機器》》通過ssh連接》b機器的linux用戶。

 

使用某個用戶連接到b機器,那么,就要把公鑰加到b機器上,此用戶的信任列表(~/.ssh/authorized_keys )中去。記住是此用戶的信任列表中去。

 

 

二、信任列表中的公鑰是一行一個公鑰

 

~/.ssh/authorized_keys文件中,公鑰之間,必須要有換行,一行一個公鑰,沒有換行,會當成一個公鑰。

 

 

 

如下方式是錯誤的:

 

思考,怎么對每一個公鑰值添加注釋呢。比如想知道這個公鑰到底是給誰用戶。不然這么長,以后要刪除的時候,怎么確定要刪除哪個公鑰。只能靠注釋了。

 

 

此文件中空行和以'#'開頭的行將被當作注釋忽略。

 

 

三、遠程機器目錄和文件的權限要設置對

 

之所以沒生效,要保證,是因為權限設置不對。

配置用戶的公鑰登陸時,配置完authorized_keys居然一直不生效,於是google之,發現原來是因為.ssh目錄和下面文件的權限問題導致的,因為目錄的權限已經超過了sshd的要求權限。
如果希望ssh公鑰生效需滿足至少下面兩個條件:

1).ssh目錄的權限必須是700 。目錄要可以讀寫執行。其他用戶都沒有任何權限,因為這個目錄是這個用戶專有使用的。

2) .ssh/authorized_keys文件權限必須是600。思考:只有自己才可以讀寫(不需要執行),所以第一個值是6。其他用戶都沒任何權限,所以是00

 

整個ssh軟件已經限制死了,必須是上面這樣的權限才行,多一點都不能通過。比如設置authorized_keys文件的權限是660,那也通不過。

 

 

 

四、公鑰的生成方式

 

 

ssh-keygen -t rsa -C “注釋說明,一般是填寫郵箱

 

最后得到了兩個文件,在~/.ssh/目錄里:id_rsa和id_rsa.pub。

 

私鑰文件是:~/.ssh/id_rsa文件中。公鑰文件是,id_rsa.pub

 

 

看到網上,有人直接使用如下命令添加公鑰到信任文件列表中去:

 

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

 

加入進去的公鑰,會自動換行?

實際上就是一行一條數據。加到末尾,其實就是新的一行?

 

五、如何進行ssh登陸

 

ssh 用戶名@ip

 

 

 

注:這個用戶名,指的是遠程機器上的linux用戶名。表示說,用這個用戶名,去登陸到遠程機器上去。假設這個用戶名是為git_remote。

 

1、既然是使用這個用戶名去登陸遠程機器。那么使用的就是遠程機器上,git_remote用戶的信任公鑰文件。

 

遠程機器上這個文件,位置在“git_remote用戶的家目錄/.ssh/authorized_keys"。

 

2、要把客戶機上,當前linux賬號的公鑰值,添加到遠程機器git_remote用戶家目錄/.ssh/authorized_keys"中去。這樣才能信任通過驗證。

 

怎么確定當前linux用戶,假設是使用git用戶在執行ssh命令,那么就是git用戶。

 

客戶機,當前linux的公鑰文件,在"git用戶的家目錄/.ssh/id_dsa.pub"文件中。


免責聲明!

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



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