在比較新版的 FreeBSD 中附帶的 OpenSSH,不能象原來(lái)那樣用 SecureCRT 連接時(shí)直接記錄密碼了,代之的是需要用密鑰對(duì)來(lái)驗(yàn)證,每次都需要手工輸入密碼比較麻煩。這里簡(jiǎn)單講一下怎么用 SecureCRT 生成 OpenSSH 認(rèn)可的密鑰。
1. 在 SecureCRT 的 Tools 菜單中選擇 Create Public Key...,會(huì)出現(xiàn)一個(gè)生成向?qū)В鶕?jù)它的提示一步步走,中間會(huì)讓你選擇一個(gè) passphrase,有人翻譯成“通關(guān)密語(yǔ)”,總之它是一個(gè)保護(hù)你的 key 的東西,建議設(shè)置,并記好,這是找不回的。向?qū)У淖詈髸?huì)提示你是否使用新生成的密鑰來(lái)做為你的全局密鑰,選擇是。
2. 向?qū)瓿珊螅瑫?huì)在你選擇的目錄下生成兩個(gè)文件,Identity 和 Identity.pub,第一個(gè)是你的私鑰,需要自己保留的,第二個(gè)是公鑰,需要上傳到服務(wù)器(如果直接上傳不方便,可以使用文本拷貝的方式)。
3. 在服務(wù)器上,你的目錄下(~/),建立 .ssh 目錄,設(shè)置權(quán)限為700或755。
4. 因?yàn)?SecureCRT 生成的公鑰是 IETF SECSH 格式,與 OpenSSH 的格式不同,需要轉(zhuǎn)換一下。執(zhí)行命令 ssh-keygen -i > ~/.ssh/authorized_keys ,根據(jù)提示,輸入存儲(chǔ)你公鑰的文件名(Identity.pub或你自己更改的名字)。修改文件權(quán)限 chmod 600 ~/.ssh/authorized_keys 。
5. 大功告成。之后每次重新啟動(dòng)SecureCRT,需要輸入你的 passphrase,但只要不關(guān)閉 SecureCRT,打開多個(gè)tab,或在多個(gè)服務(wù)器共享同一套密鑰,就不需要重新輸入了。
SecureCRT生成的key和sshd不兼容需要轉(zhuǎn)換才能使用,key.pub為SecureCRT生成的pubkey
# ssh-keygen -X -f key.pub > key.pub2
# mkdir ~/.ssh
# touch ~/.ssh/authorized_keys
# cat key.pub2 >> ~/.ssh/authorized_keys
# rm freebsd.pub*
# vi /etc/ssh/sshd_config
===========+===========+===========+============
Port 22
Protocol 2
PasswordAuthentication no
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
===========+===========+===========+============