裸服务器证书,使用SSH证书远程登陆你的服务器
從某種角度講,SSH證書(shū)登陸遠(yuǎn)程服務(wù)器要安全很多,但并不絕對(duì)安全。不過(guò),它很方便,可以讓你每次無(wú)需使用密碼,就能快速ssh連接到你的服務(wù)器上面去,同時(shí),雖然沒(méi)有使用密碼,卻不是采用緩存密碼的方式,而是通過(guò)一個(gè)公鑰和私鑰來(lái)完成這個(gè)過(guò)程。那么怎么來(lái)實(shí)現(xiàn)呢?我們這篇文章詳細(xì)闡述這個(gè)操作。
1.生成公鑰私鑰
Linux系統(tǒng)默認(rèn)已經(jīng)集成了ssh工具,因此我們只需要使用一個(gè)簡(jiǎn)單的命令即可完成公鑰私鑰的生成。
$ cd ~
$ ssh-keygen -t rsa
$ cd .ssh
$ ls
這樣就可以了,你可以看到.ssh目錄下已經(jīng)有了id_rsa、id_rsa.pub兩個(gè)密鑰文件。
2.將公鑰上傳到遠(yuǎn)程服務(wù)器
我們要登陸遠(yuǎn)程服務(wù)器,那么把我們的公鑰交給遠(yuǎn)程服務(wù)器,一旦交付之后,今后我們遠(yuǎn)程登陸時(shí),服務(wù)器就可以通過(guò)這個(gè)公鑰識(shí)別本機(jī),從而無(wú)需密碼即可完成登陸。在本機(jī)上執(zhí)行如下操作:
$ ssh-copy-id -i ~/.ssh/id_rsa.pub root@xxx.xx.xxx.xx
執(zhí)行之后,會(huì)讓你輸入一次遠(yuǎn)程服務(wù)器root登陸的密碼,輸入即可。
通過(guò)這一步,我們將公鑰加入到服務(wù)器的認(rèn)證列表中,被服務(wù)器“記錄在案”。
但是我在一次執(zhí)行該操作的時(shí)候,發(fā)現(xiàn)服務(wù)器上得到的結(jié)果中出現(xiàn)了亂碼。為了保險(xiǎn)起見(jiàn),我的建議是,直接打開(kāi)id_rsa.pub文件,復(fù)制里面的內(nèi)容,然后登陸到服務(wù)器上面,進(jìn)入~/.ssh/,打開(kāi)authorized_keys,把內(nèi)容拷貝到里面。
3.到服務(wù)器上調(diào)整配置
執(zhí)行上面的步驟之后,我們還不是很放心,我們通過(guò)原始的ssh方法登陸到遠(yuǎn)程服務(wù)器上面去,并對(duì)服務(wù)器上的一些配置進(jìn)行調(diào)整。
$ ssh root@xxx.xx.xxx.xx
root@xxx > ### 登陸到服務(wù)器上了,當(dāng)前目錄為/root,也就是root的~
$ cd .ssh ### 注意,如果服務(wù)器是裸機(jī),應(yīng)該是不存在.ssh目錄的,你需要自己創(chuàng)建.ssh目錄,當(dāng)然,執(zhí)行上面的步驟后,會(huì)自動(dòng)創(chuàng)建.ssh目錄
$ chmod 600 authorized_keys ### 一些博客說(shuō)要執(zhí)行這個(gè)步驟,我們就執(zhí)行吧
$ vi authorized_keys ### 你可以和你本地id_rsa.pub進(jìn)行對(duì)比,看看authorized_keys中是否已經(jīng)存在和你的公鑰一模一樣的記錄
通過(guò)上面這個(gè)步驟進(jìn)行確認(rèn),確認(rèn)之后,我們修改服務(wù)器的一些配置。
$ vi /etc/ssh/sshd_config
通過(guò)這條命令,打開(kāi)sshd的配置文件,進(jìn)行配置,修改下面的幾個(gè)值:
# 是否讓 sshd 去檢查用戶(hù)家目錄或相關(guān)檔案的權(quán)限數(shù)據(jù),
# 這是為了擔(dān)心使用者將某些重要檔案的權(quán)限設(shè)錯(cuò),可能會(huì)導(dǎo)致一些問(wèn)題所致。
# 例如使用者的 ~.ssh/ 權(quán)限設(shè)錯(cuò)時(shí),某些特殊情況下會(huì)不許用戶(hù)登入StrictModes no
# 是否允許用戶(hù)自行使用成對(duì)的密鑰系統(tǒng)進(jìn)行登入行為,僅針對(duì) version 2。
# 至于自制的公鑰數(shù)據(jù)就放置于用戶(hù)家目錄下的 .ssh/authorized_keys 內(nèi)
RSAAuthentication yesPubkeyAuthentication yesAuthorizedKeysFile .ssh/authorized_keys
注意上面紅色字,這幾個(gè)配置項(xiàng),決定了你是否可以用ssh的key file進(jìn)行登陸。這是必須要改的,改完之后,重啟sshd服務(wù):
$ service sshd restart
OK,服務(wù)器端已經(jīng)完成了,不用再管了。
4.本地ssh登陸配置
除了服務(wù)器要配置外,還要對(duì)本地進(jìn)行配置,只有經(jīng)過(guò)本步驟配置后,ssh登陸時(shí),才會(huì)主動(dòng)使用證書(shū)進(jìn)行登陸,否則還是會(huì)提示輸入密碼。怎么配置呢,其實(shí)很簡(jiǎn)單:
$ sudo vi /etc/ssh/ssh_config
打開(kāi)本地的ssh配置文件,通過(guò)搜索,找到IdentityFile,你會(huì)發(fā)現(xiàn)是被注釋掉的,我們打開(kāi)注釋,并且增加一行,結(jié)果如下:
IdentityFile ~/.ssh/id_rsa
IdentityFile /home/yourname/.ssh/id_rsa
保存,并重啟本地的ssh。OK,本地的ssh也配置好了。
現(xiàn)在,請(qǐng)測(cè)試使用ssh root@xxx.xx.xxx.xx進(jìn)行登陸。
2015-11-09
7822
總結(jié)
以上是生活随笔為你收集整理的裸服务器证书,使用SSH证书远程登陆你的服务器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 三菱plc 与 计算机 通讯,PC与三菱
- 下一篇: 服务器显示rl112,【RL-TCPne