Linux SSH的密钥登录

什么是SSH?

Secure Shell(SSH) 是由 IETF(The Internet Engineering Task Force) 制定的建立在应用层基础上的安全网络协议。其应用场景为远程登陆及会话过程中的确认及加密。

SSH如何加密

SSH采用RSA非对称加密技术,RSA算法是用其三位MIT的发明者的姓氏命名的。RSA算法简单的说就是,传递的信息通过公钥加密,公钥是公开的,而接受方可以用自己的私钥破解密文,得到原始信息。

公钥与私钥都由接收方生成,而通过公钥想要得到私钥则必须对一个极大整数进行因数分解,这在数学上十分困难。实际上,只要密钥足够长,破解它是不可能的。

Linux SSH的密钥登录_第1张图片

 

SSH的两种登录方式

我们平时使用linux ssh时通常使用用户名密码登录,即口令登录。但是这种方式有可能被中间人攻击,无法保证你正在连接的服务器没有被冒充。

另一种方式为密钥登录,你必须生成一对密钥,并将公钥放在需要访问的服务器上。这种方式更加安全,且无需输入口令认证。

实现Linux SSH的密钥登录

首先查看.ssh目录(若不存在则先执行ssh localhost),目录下不存在密钥

执行ssh-keygen生成一对公钥-私钥,不需要设置额外密码的话一直回车即可

Linux SSH的密钥登录_第2张图片

将公钥添加至需要登录的服务器上,在这里就是此linux虚拟机

并给予查看所须的权限,然后重启ssh服务

Linux SSH的密钥登录_第3张图片

公钥现在已经在服务器上了,现在我们需要将私钥传至windows主机

用xshell连接虚拟机,第一次我们使用口令登录(当然,因为还没有获得私钥)

Linux SSH的密钥登录_第4张图片

用lrzsz(在linux上要先安装)将私钥id_rsa文件下载至主机

现在我们断开连接,然后用密钥登录linux服务器

Linux SSH的密钥登录_第5张图片

成功登录!

 

你可能感兴趣的:(Linux SSH的密钥登录)