目錄
- SSH免密登陸
- SSH別名登陸
- 常見問題
SSH免密登陸
- 本機生成SSH私鑰和公鑰
ssh-keygen -t rsa
這樣會在當前目錄生成名為id_rsa的私鑰檔案和名為id_rsa.pub的公鑰檔案,-t表示密鑰型別是rsa. 如果你只輸入ssh-keygen生成的RSA密鑰長度為2048,如果你對安全性要求比較高可以指定4096位的長度:
ssh-keygen -b 4096 -t rsa
這里-b就是多少位,當然你對這些引數感興趣可以使用--help引數看看具體的含義和解釋,當你在生成SSHKEY的時候在命令列下會提示你Enter file in which to save the key,讓你確認密鑰檔案保存的路徑,一般回車即可(一般默認會在當前用戶家目錄下的.ssh目錄下),第二個提示是 Enter passphrase (empty for no passphrase) 讓你輸入一個密鑰的密碼,如果不輸入則留空;回車生成公私鑰完畢 ??
此時你可以使用cat命令看下自己的公私鑰,
- 服務器配置
-
方法一:
- 將本地的公鑰檔案上傳到服務器上,然后在服務器需要免密登錄的用戶家目錄下查看是否有
~/.ssh/authorized_keys這個檔案,
如果沒有手動創建一個:
touch ~/.ssh/authorized_keys- 然后我們將公鑰內容寫入到authorized_keys檔案中,因為這個檔案可能已經有內容了,所以你可以使用如下方式
cat -n ~/.ssh/rsa.pub ~/.ssh/authorized_keys這樣就將公鑰內容追加到authorized_keys中了,然后需要注意配置權限了,否則SSH不會作業的.
- 將.ssh目錄的權限為700
- 將authorized_keys目錄的權限為600
- 將本地的公鑰檔案上傳到服務器上,然后在服務器需要免密登錄的用戶家目錄下查看是否有
-
方法二:
ssh-copy-id復制公鑰
ssh-copy-id username@remote-server -p prot它會將本地的所有公鑰都傳到服務器.
- 運行使用
ssh user@host -p22
SSH別名登陸
- 配置本地ssh,修改
~/.ssh/config,沒有config則自己創建
Host yourserverName #設定的別名
HostName xx.xx.xx.xx #服務器IP
Port 22 #埠號
User username #登陸用戶名
IdentitiesOnly yes #IdentitiesOnly yes固有配置,多個配置則no
IdentityFile ~/.ssh/id_rsa#對應服務器公鑰的本地私鑰檔案路徑,可以不寫,我不寫也能正常連接
常見問題
ssh key Key is invalid
密鑰錯誤,或者配置錯誤
github ssh key Key is invalid. Ensure you’ve copied the file correctly
在github上添加新key時,沒有正確拷貝 ~/.ssh/id_rsa.pub 內容所致,
一般發生在linux下,因為windows下用notepa++打開這個檔案并復制一般是沒有問題的,
而linux下使用vim打開再復制就會因為vim添加了回車而導致key添加失敗,
解決辦法是:使用cat命令將 ~/.ssh/id_rsa.pub 內容輸出到終端,再拷貝,
參考資料:
- 知乎
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/250427.html
標籤:其他
上一篇:容器編排系統K8s之HPA資源
