Linux配置免密登录的两种方式

在使用linux的过程中,为了省去每次连接输入密码的麻烦,通常会为服务器配置免密登录。
配置免密登录的方式有两种:1、使用公钥(常用,安全);2、使用私钥(方便,有风险)。

一、使用公钥配置免密登录

使用公钥配置免密登录时最常用的配置方式,过程如下:
本机生成ssh公钥 --> 将本机公钥copy到服务器的 ~/.ssh/authorized_keys 文件中(没有此文件则新建即可)

上述过程类似git仓库配置ssh访问。

1、本机生成ssh公钥
本机执行ssh-keygen指令,后面选项直接enter确认,然后在本机的~/.ssh目录下会生成id_rsa和id_rsa.pub两个文件。id_rsa.pub文件即为本机的公钥。

id_rsa为私钥,此处用不到。

2、将id_rsa.pub文件的内容copy到服务器的~/.ssh/authorized_keys文件中,若authorized_keys文件不存在则新建即可。

3、本机免密登录服务器
为了连接方便在本机~/.ssh目录下新建config文件,内容写入:

Host aliyun (连接别名)
Hostname 服务器IP
port 22
User root (用户名)

命令行执行ssh aliyun,即可连接至服务器。

二、使用私钥配置免密登录

使用公钥的方式是将本机的认证信息(公钥)交给服务器保存,然后连接时服务器会识别本机的身份。而私钥配置免密登录与公钥恰恰相反,它是现在服务器端生成私钥,然后交由本机保存。这时私钥相当于是连接服务器的钥匙,本机连接服务器的时候指定使用这把钥匙,就可以连接服务器。

1、服务器生成ssh私钥
在服务器执行ssh-keygen,会在~/.ssh目录下生成id_rsa(私钥)和id_rsa.pub。

2、将id_rsa文件的内容copy下来保存到本机,命名为~/.ssh/ts.pem(命名可随意)。

3、本机配置ssh config:

Host aliyun (连接别名)
Hostname 服务器IP
port 22
User root (用户名)
IdentityFile ~/.ssh/ts.pem  // 指定私钥位置

命令行执行ssh aliyun,连接成功。

注:私钥的方式将服务器的钥匙暴露了出去,无论谁拥有这把私钥都可以连接到服务器,因此具有一定的风险,如果不是必要,推荐使用公钥连接的方式。

你可能感兴趣的:(Linux配置免密登录的两种方式)