linux密鑰生成方法 ssh-keygen
2012/10/16 chenxin
2019/07/27 chenxin
說明
這里是用密鑰的方式來登陸用戶.useradd添加用戶后,可以不用給用戶配置密碼,也不會有任何安全隱患(使用密碼無法登陸).
獲取密鑰方式
執行ssh-keygen,獲取私鑰證書id_rsa和公鑰證書id_rsa.pub
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase): <-- 直接輸入回車(設置訪問密鑰需要的短文密碼,一般不設置)
Enter same passphrase again: <-- 直接輸入回車
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
ssh-keygen參數說明
-t 指定密鑰類型,默認是 rsa,可以省略.
-C 設置注釋文字,比如郵箱.
-f 指定密鑰文件存儲文件名.
密鑰放置位置
將公鑰證書id_rsa.pub復制到Server的.ssh子目錄中,同時改名為authorized_keys(或將公鑰追加進入).
文件夾和文件屬組,權限說明
server端的.ssh目錄屬組為自身用戶.權限應該是700.也可以755,但不可以是775或更高,否則要求輸入密碼(Server端).
私鑰d_rsa屬組為自己,權限為600;雖然設置為755也可以(有時候必須600),但會有安全隱患;
公鑰authorized_keys屬組為自己,權限無需一定要600,之前一般設置的為644,755;
測試
ssh k8s@10.0.0.9 -p 4399 -i /home/k8s/.ssh/id_rsa
/usr/bin/rsync -vzrtopg -e "ssh -i /home/lzupdate/.ssh/id_rsa -p 4399" --delete --progress --exclude "logs/" /home/lzupdate/t.txt lzupdate@117.79.150.189:/home/lzupdate/ttt/