Linux下安全SSH连接实现公钥认证(linux ssh 公钥)

SSH可以有效的保护目标机器,防止未经授权的用户登录到系统上,也可以降低拥有本地root用户的机器的安全风险。要保持SSH的安全性,Linux系统用户应该使用公钥认证远程连接,而不是使用密码登录。

下文介绍了Linux下如何安全进行SSH连接,用公钥认证登录。

##### 1. 生成客户端公钥

首先,本地生成秘钥文件,输入以下命令:

$ ssh-keygen -t rsa

此命令会在本地创建 `id_rsa` 和 `id_rsa.pub` 这两个文件,其中,`id_rsa` 是私钥文件,一般需要妥善保管,而 `id_rsa.pub` 是SSH公钥文件。

##### 2. 将公钥发送给SSH服务器

然后,需要将 生成的公钥文件 `id_rsa.pub` 拷贝到远程服务器上,后续步骤需要把公钥加入到服务器 `authorized_keys` 文件中,输入以下命令:

$ scp ~/.ssh/id_rsa.pub user@server_ip:~

##### 3. 将公钥加入到服务器 `authorized_keys` 文件中

最后,登录服务器,把公钥 `id_rsa.pub` 文件内容添加到用户家目录下的 `authorized_keys` 文件中,可以使用 `cat id_rsa.pub >> auhtorized_keys` 命令来完成,输入以下命令:

$ cat id_rsa.pub >> ~/.ssh/authorized_keys

此时,这台服务器就允许使用 `id_rsa.pub` 文件中的公钥来登录。

##### 4. 安全连接

完成上述步骤,就可以在本地使用SSH客户端连接到远程服务器了。下面的命令可以实现安全登录:

$ ssh -i ~/.ssh/id_rsa username@server_ip

这里的参数 `-i` 指定要使用的私钥文件,如果私钥文件的文件名不是`id_rsa`,就要把这里的参数改为相应的文件名。

使用SSH认证登入服务器时,服务器首先会要求客户端发送私钥文件中的公钥,然后服务器会比对公钥是否被授权,如果授权,就会完成登陆并返回授权结果。

此时,公钥/私钥即可实现成功SSH登陆,而不需要输入用户名、密码或者其他任何凭证,从而实现安全可靠的远程访问。

通过上述步骤,我们可以在Linux下安全使用公钥来SSH连接服务器,从而大大增加了系统的安全性。


数据运维技术 » Linux下安全SSH连接实现公钥认证(linux ssh 公钥)