Linux使用公私钥对登陆

密钥对基础介绍

Linux

公钥/root/.ssh/id_rsa.pub

私钥/root/.ssh/id_rsa

windows

公钥C:\Users\用户名\.ssh\id_rsa.pub

私钥C:\Users\用户名\.ssh\id_rsa

使用ssh命令会自动携带私钥,而使用ssh工具(如finalshell)需要手动选择私钥位置

免密登录基本流程是客户端使用ssh-keygen生成公私钥对,然后把客户端生成的公钥追加到需要登录的主机的/root/.ssh/authorized_keys文件中,登陆时目标主机使用公钥加密,客户端使用私钥解密,所以要保证登录的目标主机使用的公钥和客户端的私钥是配对使用的

环境说明:有两台主机,IP分别为192.168.220.3(账号为root,密码123456)和192.168.220.5(账号为root,密码为000000)

禁用密码登陆(可选)

nano /etc/ssh/sshd_config
PasswordAuthentication no
systemctl restart sshd

如果要启用密码认证,则PasswordAuthentication yes 如果禁用密码认证之后,SSH私钥丢失无法登录,可以重置云主机实例密码,PasswordAuthentication会自动变成yes。

一.实现192.168.220.5免密登录自身

1.ssh工具登录192.168.220.5主机

2.生成公钥文件,输入命令,连按两次回车即可,默认生成在~/.ssh 目录下,

ssh-keygen

3.拷贝刚刚生成的公钥文件复制到192.168.220.5的文件

下面的命令本质是在/root/.ssh/authorized_keys文件里追加刚刚生成的公钥,可以手动复制。

ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.220.5

4.在192.168.220.5执行以下命令测试

说明:如果192.168.220.5sshd服务没有启用公钥认证(默认启用,除非自己改过),您需要在该主机上编辑/etc/ssh/sshd_config文件,将PubkeyAuthentication设置为yes
并重新启动sshd服务(systemctl restart sshd)。

二.实现192.168.220.5免密登录192.168.220.3

1.登录192.168.220.5主机

2.如果192.168.220.5没有生成过公钥则执行(已经生成过无需重复生成)

ssh-keygen

3.在192.168.220.3执行以下命令,把公钥拷贝到192.168.220.5,按要求输入192.168.220.5主机密码完成拷贝

ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.220.5

4.在192.168.220.3执行以下命令测试

ssh root@192.168.220.5
说明:如果192.168.220.5的sshd服务没有启用公钥认证(默认启用,除非自己改过),您需要在该主机上编辑/etc/ssh/sshd_config文件,将PubkeyAuthentication设置为yes
并重新启动sshd服务(systemctl restart sshd)。
  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值