CentOS开启SSH免密登录

CentOS开启SSH免密登录

要实现SSH免密登录,首先需要准备一组公钥和私钥。将公钥放到服务器上,将私钥放到客户机上。当客户机连接服务器时,服务器会根据自身的公钥校验客户机的私钥,如果校验通过则允许连接。
在这里插入图片描述

一、创建密钥

在客户机上输入以下命令创建一组公钥和私钥

ssh-keygen

在这里插入图片描述

  • 密钥生成位置:默认会将密钥生成到当前登录用户的主目录下的.ssh文件夹中,如:C:\Users\Master.ssh
  • 私钥密码:默认无密码,如果设置了私钥密码,在进行免密登录时需要输入私钥密码
  • 确认私钥密码:默认无密码

命令执行成功后将会在指定位置生成密钥
请添加图片描述

  • 上面的id_rsa为私钥,需要留在客户机。建议保持其默认存放位置和默认文件名,在SSH连接时会自动使用,如果存放到其他位置或修改为其他文件名,在SSH连接时需要手动指定私钥位置。
  • 下面的id_rsa.pub为公钥,需要上传到服务器。上传到需要进行免密登录的用户的主目录下的.ssh文件夹中,并且重命名为authorized_keys,如:/root/.ssh/authorized_keys。

二、上传公钥

远程登录服务器,在需要免密登录的用户的主目录下创建名为.ssh的文件夹,如:/root,创建成功后退出连接

mkdir .ssh
  • mkdir - 创建目录
  • .ssh - 要创建的目录的名称。注意开头有一个点,不能省略。

请添加图片描述

使用scp命令将公钥上传到之前创建的目录中,并重命名为authorized_keys

scp .ssh/id_rsa.pub root@centos:/root/.ssh/authorized_keys
  • scp - 远程文件复制
  • .ssh/id_rsa.pub - 公钥所在位置
  • root - 要进行免密登录的远程主机账户,默认为本地主机当前登录账户
  • centos - 远程主机地址
  • /root/.ssh/authorized_keys - 公钥上传位置

请添加图片描述

三、登录测试

在客户机上输入以下命令登录远程服务器

ssh root@centos
  • ssh - 远程账户登录
  • root - 进行免密登录的远程主机账户,默认为本地主机当前登录账户
  • centos - 远程主机地址

连接服务器时,会发现在没有输入密码的情况下成功连接
在这里插入图片描述

私钥需要存放到当前登录用户的主目录下的.ssh文件夹中,并且设置文件名为id_rsa,如果私钥存放到其他位置或使用其他文件名,远程登陆时需要使用-i参数指定私钥位置。

如果为私钥设置了密码,远程登陆时需要输入私钥密码。

猜你喜欢

转载自blog.csdn.net/u010044182/article/details/128474371