我们一般登录linux都是使用用户名和密码,但是如果你的ssh服务器放到了Internet上了,那么你的服务器就会非常的危险,强烈建议你不要使用用户名和密码进行对服务器进行登录,请使用秘钥(公钥和秘钥)的形式进行登录。
检查你机器登录情况,请查阅你的系统认证日志:/var/log/auth.log
如果出现非常多的认证失败信息,你就要小心了,很可能有人在暴力破解你的密码.
公钥和私钥怎么工作的呢?
我们把公钥放到服务器上,私钥放到你的客户机上,当你从客户机连接服务器时,如果公钥和私钥能对上,就可以通过认证,公钥好像锁,秘钥好像钥匙。
1、 环境:
客户机我们用centos,服务器我们用ubuntu
2、 安装软件
yum install openssh-server#如果是ubuntu的话,命令是sudo apt-get install openssh-server
3、 生成秘钥对
命令:
ssh-keygen -t rsa -C "know_action's key"#-C选项后面跟的字符串,是备注
4、 把公钥复制到服务器上
复制命令:
ssh-copy-id -i .ssh/id_rsa.pub [email protected]
5、 测试
客户机上执行命令:
ssh [email protected],如果在制作公钥时没有指定密码,就不需要输入密码。
上面的是在制作秘钥时指定密码。
这个在制作秘钥时没有输入密码。
6、 使用SecureCRT登录
首先把私钥下载下来放到电脑上。
转换私钥为openssh格式:
秘钥为转换后的秘钥。
7、 直接点击链接就可以登录,不用输入任何密码
8、 服务器上禁用密码登录
修改内容如下:
PermitRootLogin no
PasswordAuthentication no
UsePAM no
重启ssh服务,即可。
注:
再次改名,原因是自此逐步从centos转入ubuntu。