Linux设置密钥登录

使用密钥登录分为以下步骤:

1、生成密钥(公钥与私钥)

2、放置公钥(Public Key)到服务器指定用户目录的 .ssh/authorized_key文件中;

3、配置SSH客户端使用密钥登录。

4、测试密钥登陆成功后关闭密码登录。【可选】

 

1.生成密钥

cd /root/.ssh    #进入指定用户的.ssh目录
ssh-keygen -t rsa
[root@springcore .ssh]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): #### 要设置密码的话 就在这里输入【可直接为空跳过】
Enter same passphrase again: #### 重复输入密码 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:syK0IidyNKGBvLWCLYBIxP3bqthqeBWr/ehCuGwU8WQ root@springcore
The key's randomart image is:
+---[RSA 3072]----+
|oo.              |
|*o E             |
|*.*..            |
|o=ooo.           |
|++=..oo S        |
|.+oooo . o       |
|Bo++o o .        |
|+O*..+ .         |
|o+.=+..          |
+----[SHA256]-----+

  执行后会生成id_rsa和id_rsa.pub两个文件,id_rsa是私钥(重要,不能外泄),id_rsa.pub是公钥。

2.放置公钥(Public Key)到服务器指定用户目录的 .ssh/authorized_key文件中

  1.查看authorized_key文件是否存在,不存在则创建并赋予600权限

touch authorized_keys
chmod 600 ./authorized_keys

  2.将公钥内容追加到authorized_keys文件中。

cat id_rsa.pub >> authorized_keys

  3.为了确保连接成功,赋予.ssh文件夹700权限

chmod 700 ~/.ssh    ###修改为指定用户的ssh目录,这里以root用户为例

3、配置SSH客户端使用密钥登录。

  1.修改SSH配置

vi /etc/ssh/sshd_config

  修改以下配置项

## 开启私钥登录[RSAAuthentication (rsa认证)是只支持第一代SSH通讯协议使用的配置项,在CentOS7.3之后的版本中被废除了,因为默认使用第二代协议了]
RSAAuthentication yes
## 开启 公私钥登录认证
PubkeyAuthentication yes
## root 用户能否通过 SSH 登录
PermitRootLogin yes
## 添加 公钥的保存文件
AuthorizedKeysFile .ssh/authorized_keys

  2.刷新SSH服务

service sshd restart

4、测试密钥登陆成功后关闭密码登录。【可选】

  1.修改SSH配置

vi /etc/ssh/sshd_config

  修改以下配置项

PasswordAuthentication no

  2.刷新SSH服务

service sshd restart

 

posted @ 2022-12-30 16:39  SpringCore  阅读(6978)  评论(0编辑  收藏  举报