
<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>