linux中ssh使用rsa免密碼登錄方法
發(fā)布日期:2022-03-14 10:54 | 文章來源:源碼中國
A為本地主機(即用于控制其他主機的機器) ;
B為遠程主機(即被控制的機器Server), 假如ip為172.24.253.2 ;
在A上的命令:
復(fù)制代碼
代碼如下:ssh-keygen -t rsa
(連續(xù)三次回車,即在本地生成了公鑰和私鑰,不設(shè)置密碼,生成的公鑰私鑰在~/.ssh目錄下,id_rsa是私鑰, id_rsa.pub是公鑰 )
復(fù)制代碼
代碼如下:ssh <a href="mailto:muye@172.24.253.2">muye@172.24.253.2</a>
mkdir .ssh
chmod 700 .ssh
(需要輸入密碼, 注:必須將.ssh的權(quán)限設(shè)為700)
復(fù)制代碼
代碼如下:scp ~/.ssh/id_rsa.pub <a href="mailto:muye@172.24.253.2:~/.ssh">muye@172.24.253.2:~/.ssh</a>
然后在服務(wù)器上建立authorized_keys文件:
復(fù)制代碼
代碼如下:touch ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
(注意: 必須將~/.ssh/authorized_keys的權(quán)限改為600, 該文件用于保存ssh客戶端生成的公鑰,可以修改服務(wù)器的ssh服務(wù)端配置文件/etc/ssh/sshd_config來換文件名,默認是叫authorized_keys)
復(fù)制代碼
代碼如下:cat id_rsa.pub >> authorized_keys
# (將id_rsa.pub的內(nèi)容追加到 authorized_keys 中, 注意不要用 > ,否則會清空原有的內(nèi)容,使其他人無法使用原有的密鑰登錄)
回到A機器:
復(fù)制代碼
代碼如下:# ssh <a href="mailto:muye@172.24.253.2">muye@172.24.253.2</a> (不需要密碼, 登錄成功)
從表面上簡單的理解一下登錄的過程,
首先 ssh-keygen -t rsa 命令生成了一個密鑰和一個公鑰, 而且密鑰可以設(shè)置自己的密碼
可以把密鑰理解成一把鑰匙, 公鑰理解成這把鑰匙對應(yīng)的鎖頭,
把鎖頭(公鑰)放到想要控制的server上, 鎖住server, 只有擁有鑰匙(密鑰)的人, 才能打開鎖頭, 進入server并控制
而對于擁有這把鑰匙的人, 必需得知道鑰匙本身的密碼,才能使用這把鑰匙 (除非這把鑰匙沒設(shè)置密碼), 這樣就可以防止鑰匙被了配了(私鑰被人復(fù)制)
更簡潔的方式:
步驟1、如果服務(wù)器上沒有authorized_keys文件,則:(如果有則跳過這一步)
復(fù)制代碼
代碼如下:ssh <a href="mailto:muye@172.24.253.2">muye@172.24.253.2</a>
mkdir .ssh
chmod 700 .ssh
touch ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
步驟2、在本機:
復(fù)制代碼
代碼如下:ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub <a href="mailto:muye@172.24.253.2">muye@172.24.253.2</a>
ssh-keygen -t rsa #之后三下回車,表示無密碼。即可。
注: ssh-copy-id 自動把密鑰追加到遠程主機的 .ssh/authorized_key 上
版權(quán)聲明:本站文章來源標注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。
相關(guān)文章