
<a target="_blank"></a>
無論是個人的vps還是企業允許公網通路的伺服器,如果開放22端口的ssh密碼登入驗證方式,被衆多黑客暴力猜解捅破菊花也可能是經常發生的慘劇。企業可以通過防火牆來做限制,普通使用者也可能借助修改22端口和強化弱密碼等方式防護,但目前相對安全和簡單的方案則是讓ssh使用密鑰登入并禁止密碼登入。
這是最相對安全的登入管理方式
建議設定并牢記passphrase密碼短語,以linux生成為例
linux:ssh-keygen -t rsa
[私鑰 (id_rsa) 與公鑰 (id_rsa.pub)]
windows:securcrt/xshell/putty
[ssh-2 rsa 2048]
<code>#生成ssh密鑰對</code>
<code>ssh-keygen -t rsa</code>
<code></code>
<code>generating public/private rsa key pair.</code>
<code>#建議直接回車使用預設路徑</code>
<code>enter file in which to save the key (/root/.ssh/id_rsa):</code>
<code>#輸入密碼短語(留白則直接回車)</code>
<code>enter passphrase (empty for no passphrase):</code>
<code>#重複密碼短語</code>
<code>enter same passphrase again:</code>
<code>your identification has been saved in /root/.ssh/id_rsa.</code>
<code>your public key has been saved in /root/.ssh/id_rsa.pub.</code>
<code>the key fingerprint is:</code>
<code>aa:8b:61:13:38:ad:b5:49:ca:51:45:b9:77:e1:97:e1 [email protected]</code>
<code>the key's randomart image is:</code>
<code>+--[ rsa 2048]----+</code>
<code>| .o. |</code>
<code>| .. . . |</code>
<code>| . . . o o |</code>
<code>| o. . . o e |</code>
<code>|o.= . s . |</code>
<code>|.*.+ . |</code>
<code>|o.* . |</code>
<code>| . + . |</code>
<code>| . o. |</code>
<code>+-----------------+</code>
也可以手動在用戶端建立目錄和authorized_keys,注意修改權限
<code>#複制公鑰到無密碼登入的伺服器上,22端口改變可以使用下面的指令</code>
<code>#ssh-copy-id -i ~/.ssh/id_rsa.pub "-p 10022 user@server"</code>
<code>ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]</code>
<code>#編輯sshd_config檔案</code>
<code>vi /etc/ssh/sshd_config</code>
<code>#禁用密碼驗證</code>
<code>passwordauthentication no</code>
<code>#啟用密鑰驗證</code>
<code>rsaauthentication yes</code>
<code>pubkeyauthentication yes</code>
<code>#指定公鑰資料庫檔案</code>
<code>authorsizedkeysfile .ssh/authorized_keys</code>
重新開機ssh服務前建議多保留一個會話以防不測
<code>#rhel/centos系統</code>
<code>service sshd restart</code>
<code>#ubuntu系統</code>
<code>service ssh restart</code>
<code>#debian系統</code>
<code>/etc/init.d/ssh restart</code>
可以在== 後加入使用者注釋辨別友善管理
<code>echo 'ssh-rsa xxxx' >>/root/.ssh/authorized_keys</code>
<code># 複查</code>
<code>cat /root/.ssh/authorized_keys</code>
擴充閱讀
<b>原文釋出時間為:2015-07-08</b>
<b></b>
<b>本文來自雲栖社群合作夥伴“linux中國”</b>