MAC下生成密鑰,並使用ssh密鑰登錄


步驟一:打開終端,輸入:

ssh-keygen -t rsa -C "youremail@qq.com"

一路歡快的回車,所有默認都不用改,就可以生成密鑰了。

引號內是你唯一Email,這里可以作為以后Git遠程倉庫使用。

 

步驟二:查看生成的公鑰和私鑰:

ls ~/.ssh

可以看到兩個密鑰文件:id_rsa(私鑰) id_rsa.pub(公鑰)  ———— 我的本機的~是/Users/linfeng,可以通過pwd查看當前所在的路徑

 

步驟三:登錄遠程服務器,在~目錄下創建.ssh文件夾,要先切換到/root/目錄下哦。(此時root賬號的家目錄就是/root/)

mkdir .ssh

————再補充一個知識點,~表示當前用戶的家目錄,對於root來說,就是/root/,對於普通用戶來說,就是/home/user/,可以切換到~並使用pwd查看。所以如果是普通用戶,則需要把.ssh建在/home/user/下。

  

步驟四:放置公鑰到Linux服務器的用戶家目錄的.ssh目錄下,並重命名為authorized_keys。使用scp命令:

scp ~/.ssh/id_rsa.pub root@121.42.xxx.xxx:/root/.ssh/authorized_keys

 

步驟五:服務器上切換到.ssh目錄下,對authorized_keys和.ssh賦予權限:

chmod 700 .ssh
chmod 600 authorized_keys

————請注意,此時.ssh目錄的權限應該是700,只有屬主有讀、寫、執行的權限。

 

步驟六:免密碼登錄到服務器:——無需輸入密碼了。

ssh root@121.42.xxx.xxx    //方式一
ssh -l root 121.42.xxx.xxx      //方式二

 ——請注意,這時候只是可以免密碼登錄,但是沒有密鑰的人(如其他人的電腦),還是能通過密碼登錄。

——這步請直接測試是否可以免密登錄,如果可以的話,第七步第2)就可以不用操作。

 

步驟七:設置禁止密碼登錄

1)打開ssh配置文件:

sudo vim /etc/ssh/sshd_config

 

2)去掉以下的注釋:——其實不注釋,我的機器上默認值也是yes,因為在第六步的時候,我已經可以免密碼登錄了。所以為可選項

#RSAAuthentication yes    // RSA認證,我的機子上沒有這個選項,也不需要。
#PubkeyAuthentication yes    // 公鑰登錄,這個好像不需要注釋掉也沒事。
#AuthorizedKeysFile %h/.ssh/authorized_keys  // 驗證文件的位置,這個默認是開啟的。

 ——我的實踐中,這項全部都不需要修改

 

3)禁止密碼和 root賬號登錄,修改以下為no:

PasswordAuthentication no    // 禁止密碼登錄。原先為PasswordAuthentication yes
PermitRootLogin no           //禁止 root 登錄,看情況是否需要。原先為PermitRootLogin yes

 

4)重啟ssh服務

service ssh restart   //或者service ssh reload,有可能碰到並未開啟ssh服務的報錯,執行下面的那句。
/etc/init.d/sshd restart    //上面一句無法執行的時候,執行這句。
systemctl restart sshd    //centOS7以上請使用這句

 

 

八、其他:

1、指定秘鑰和端口登錄:(正常端口都是 22,你改了才需要指定),秘鑰最好也用同一個

ssh -i ~/.ssh/hk_sshkey username@121.42.xx.xx -p 23

2、添加其他機器登錄使用一個用戶登錄。

將公鑰內容添加到服務器 authorized_keys 里面即可

 

 

 

 

 

 

 

————占位符

 


免責聲明!

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



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