最近主机登录后总会莫名其妙出现世界各地的IP地址登陆我的主机失败的日志
我的主机被人扫了,随时都有可能被人密码爆破。
所以我要启用密钥登陆来阻止这一情况发生。
生成公钥私钥
1.先用root登录ssh
2.生成密钥
#此处 -t 指定算法 rsa为算法,指定rsa算法生成公钥和私钥。
3.想要无密码登录第二步可以直接Enter留空,到时候用密钥登陆不需要输入密钥的使用密码;但是想要安全的,可以加上使用密码,在使用密钥登陆SSH是必须输入使用密码。
Enter file in which to save the key (/root/.ssh/id_rsa): <== 按 Enter
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): <== 输入密钥锁码,或直接按 Enter 留空
Enter same passphrase again: <== 再输入一遍密钥锁码
Your identification has been saved in /root/.ssh/id_rsa. <== 私钥
Your public key has been saved in /root/.ssh/id_rsa.pub. <== 公钥
The key fingerprint is:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0f:d3:e7:1a:1c:bd:5c:03:f1:19:f1:22:df:9b:cc:08 root@host
我再解释一遍里面的意思吧
Enter file in which to save the key (/root/.ssh/id_rsa):
该命令提示的意思是:让我们定义私钥的存放路径,默认存在的路径是在/root/.ssh/id_rsa的下面
Enter passphrase (empty for no passphrase):
该命令提示的意思是:定义私钥的密码,一般为了免密默认的留空,直接的回车
Enter same passphrase again:
该命令提示的意思是:确认密码设置
4.cd到.ssh目录,然后列出文件,顺便看一下文件的权限
5.将id_rsa.pub里的信息写到authorized_keys里 然后赋予权限
chmod 600 /root/.ssh/authorized_keys
chmod 700 /root/.ssh
这里有个小Bug 如果现实;> 这个字符代表>
6.把私钥提取出来保存到本地,这方式有很多,因人而异,这里我客户端时Windows,所以用ftp比较方便,这里举个用ftp的例子,私钥必须要提取到本地,如果你没有提取成功,请不要下一步!!!这个密钥是你SSH登录你的主机的唯一文件。不会给Centos装ftp请参考我的第二十三期文章
要用到ftp,把它cp到你的ftp目录里,然后从ftp下载密钥。
有的人死活也下载不了这个私钥文件到本地,这是因为你权限不够,请赋予权限644.
7.修改SSH配置,打开密钥登录功能,并禁用密码登录
找一下有没有用#注释掉这些命令,要是有注释先删掉注释,然后修改,如果没有找到下面这些被注释掉的命令,直接按I,在文件底部添加这些命令。
PubkeyAuthentication yes
PasswordAuthentication no #这条命令一般文件里有,看看清楚有的话有注释直接删注释,然后后面改成no,一定是没有再添加否则会打架导致你没法用SSH登录。
这个可以按照自己喜好来no还是yes,主机里只有root用户的主机请不要no,否则你拿什么用户名登录?
配置完了就按Esc,
保存并退出。
8.想清楚啦啊!!!输了下面这条命令或者重启主机就没有回头的余地了!!!下面是重启ssh服务指令。
systemctl restart sshd.service
然后用SecureCRT登录,要是没有软件,Download下载完的文件加上.zip,打开后解压。然后管理员运行绿化。连接时选SSH2 主机名是你IP 端口啥的都知道吧,用户名你要是禁用了root就不能用root了。
鉴权用只要勾选PublicKey和GSSAPI即可。别的不要勾选。
选中PublicKey点属性,使用身份或证书文件下面的"..."打开后选择你的id_rsa文件。
有的软件要求输入密钥,id_rsa可以用文本编辑器打开滴,去复制黏贴吧。
然后既可以愉快的登陆了。


叨叨几句... NOTHING