标签归档:网络安全

使用SSH密钥,更安全快速的免密登陆到Linux服务器

为什么用密钥替代传统的密码

因为密码虽然可以设置复杂一些,但终究还是不方便管理,需要管理员手动输入一遍又一遍。还有密码的安全性也是一个令人担忧的地方,如果要在公网暴露公网IP,我不太敢让服务器提供密码鉴权服务(虽然也有failban,但是依旧不信任),毕竟有那么多攻击四处寻找目标,一切要以安全为核心

如果使用密钥,上面的担忧都可以消除了!因为密钥首先加密长度不短,需要暴力破解没个几年日夜不停的话,被攻击成功的可能性还是比较小的。其次,密钥在手,可以免密登陆,在经常登陆的场景下非常方便,甚至一个私钥我可以登陆所有服务器,而不需要任何密码输入,可以说非常方便

密钥创建

如果是windows,请先安装git-bash,它会给你许多Linux下的工具(不是所有)。如果是Linux,不需要做任何操作,一般都有必备的软件工具

在自己的主目录下创建.ssh主目录(win是C:\users\${user},Linux是~):

ssh-keygen -b 4048

第一次询问文件名称,如果没有即回车,有的话将会输出到当前文件夹下。后面的询问都直接回车即可

正常情况下,应该是生成了test.pub和test这两个文件(我拿test作为示例),test.pub是公钥,是传送给目标Linux服务器的,test是私钥,是用来后续登陆使用的

拷贝公钥到目标服务器

ssh-copy-id -i ./test.pub root@${ssh_ip} -p ${ssh_port}

拷贝最后会要求输入密码,输入之后没有错误即完成了

使用私钥进行SSH登陆

ssh -i ./test root@{ssh_ip} -p ${ssh_port}

更安全的SSH登陆配置

只是密钥登陆还不是最佳实践,更安全的配置请参考我之前的写的文章…