Linux SSH 免密登錄
本篇我們來(lái) 看看 Linux 的免密登錄的原理 以及實(shí)際操作一番
概述
什么是 Linux SSH 免密登錄,我覺(jué)得大家應(yīng)該都 多少聽(tīng)過(guò) 或者操作過(guò)反砌,那你真的理解整個(gè)免密登錄的過(guò)程嗎兴蒸?
Linux SSH 免密登錄 就是 可以不輸入密碼 就可以通過(guò)SSH 遠(yuǎn)程連接到 服務(wù)器了
1.SSH 免密登錄原理
通過(guò)上面的圖解流程 可以大致分為下面幾步脂崔,A 作為Client端 B作為 Server端
- A -> B A免密登錄B
- 在A上生成公鑰私鑰。
- 將公鑰拷貝給server B,要重命名成authorized_keys(從英文名就知道含義了)
- Server A向Server B發(fā)送一個(gè)連接請(qǐng)求
請(qǐng)求包括 A的 用戶(hù)名和IP
趋翻。 - Server B得到Server A的信息后,
在authorized_key中查找
盒蟆,如果有相應(yīng)的用戶(hù)名和IP踏烙,則隨機(jī)生成一個(gè)字符串,并用Server A的公鑰加密历等,發(fā)送給Server A
讨惩。 - Server A得到Server B發(fā)來(lái)的消息后,使用
私鑰進(jìn)行解密
寒屯,然后將解密后的字符串發(fā)送給Server B荐捻。Server B進(jìn)行和生成的對(duì)比,如果一致寡夹,則允許免登錄处面。
2.SSH 免密登錄實(shí)驗(yàn)
假設(shè)我有一臺(tái)服務(wù)器 它的 ip 是 139.198.189.160 ,我現(xiàn)在想通過(guò) 本機(jī)進(jìn)行免密登錄這臺(tái)機(jī)器
2.1 生成公鑰私鑰
-f 指定文件 -t 類(lèi)型 -C 指定郵箱
ssh-keygen -t rsa -f ~/.ssh/id_rsa_test -C "zhangqiang@163.com"
可以看到 已經(jīng)生成了 公鑰 id_rsa_test.pub 和 私鑰 id_rsa_test
2.2 把公鑰copy到 服務(wù)器 ~/.ssh/authorized_keys
可以追加到 ~/.ssh/authorized_keys 文件的最后面
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQD5jfom6Qts6tjpOAZwde2tWK9/MrKqCKgOd4Y/YILVD4nnvhs2X15N0VyWyZrVrqrUpyG7l3jEspbQxJHNJ9k80NbJqW5EyRernXCpoFICmUnfJnu3VYyBxyKxa1wa7/1xNKq3EEdVGmR2rcajVljfyo4ErPP6NrTbxCa0Do9mmXh2XiEdvrTogSud1c1c/+d7WOwiosD++y9ZxErwZkqBvxfimMTjfsrxTvZ8CIdhAS2THZeuVtFgpxS3TVdt1oXw/BOYsE8kjgZCZ/g0Sbm7w4ZHhKqvO+3q3tSarZyUnkEpeHLWztoH7GUaDjJrqrImlwubt9dzhlV446uefYXxq7WBVKbrGkhSkGN6pKp5xnSkQw0zGAPzieSslvd+0LLPGJ0uIqSq9h5TVGDMVcN2NmASBPB/e4jYzUBTr6hvhvRWPq7HoGSBUoeLYtQiNjUxc8SVSBkofJEoydsTzwlP8/yqBp4mGqyZgSRoBRALflXpCkNBa1HNiRujazxFsSU= zhangqiang@163.com
2.3 測(cè)試登錄
此時(shí)發(fā)現(xiàn) 它還是需要我們輸入密碼 這是為什么呢菩掏?因?yàn)檫@時(shí)候 你的 私鑰還沒(méi)有 ssh-add 添加到高速緩存中
2.4 ssh-add 私鑰
ssh-add命令是把專(zhuān)用密鑰添加到ssh-agent的高速緩存中
注意 私鑰的權(quán)限一定要是 600 魂角,否則會(huì)報(bào)錯(cuò)
,可以通過(guò) chmod 600 ~/.ssh/id_rsa_test 更改
2.5 再次測(cè)試登錄
可以看到已經(jīng)成功免密登錄了
總結(jié)
本篇主要講解了 Linux SSH 免密登錄的原理智绸,以及實(shí)際操作了一把 野揪,注意 本地 私鑰的權(quán)限一定要是 600 访忿,否則會(huì)報(bào)錯(cuò) 無(wú)法 ssh-add 進(jìn)高速緩存中。
歡迎大家訪(fǎng)問(wèn) 個(gè)人博客 Johnny小屋