Ubuntu开启SSH免密登录

Ubuntu开启SSH免密登录

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

一、创建密钥

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

ssh-keygen

在这里插入图片描述

  • 密钥生成位置:默认会将密钥生成到当前登录用户的主目录下的.ssh文件夹中,如:/home/master/.ssh,建议使用默认位置,以便后续操作
  • 私钥密码:默认无密码,如果设置了私钥密码,在进行免密登录时需要输入私钥密码
  • 确认私钥密码:默认无密码

命令执行成功后将会在指定位置生成密钥
在这里插入图片描述

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

二、上传公钥

在客户机上输入以下命令将公钥上传到服务器

ssh-copy-id master@ubuntu
  • ssh-copy-id - 将公钥发送到远程主机指定账户下
  • master - 要进行免密登录的远程主机账户,默认为本地主机当前登录账户
  • ubuntu - 远程主机地址

如果修改了密钥的默认存放位置或默认文件名,需要使用-i参数手动指定密钥位置。

上传公钥时公钥与私钥必须位于同一目录下,并且公钥与私钥的文件名必须对应,如:私钥文件名为x,则公钥文件名为x.pub。

输入远程账户密码完成公钥上传
在这里插入图片描述

三、登录测试

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

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

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

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

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

猜你喜欢

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