Linux服务器SSH远程密钥免密登录

说明

业务场景中经常需要进行跨服务器的操作,即从一台服务器上登录到另外一台服务器,默认情况下,SSH远程登录时需要输入远程服务器密码。当需要在可信任的服务器之间进行频繁或自动化的操作时,输入密码就会带来不便。

本文介绍如何实现SSH远程免密登录。

服务器信息

假设有2台服务器,要实现本地服务器SSH免密登录远程服务器。

本地服务器:192.168.1.1

远程服务器:192.168.1.2

免密登录方法一

1、在本地服务器上运行命令,生成公钥、私钥

ssh-keygen

执行该命令后,系统提示时直接三次回车即可(通常按默认值处理)。

公钥储存在 /root/.ssh/id_rsa.pub
私钥储存在 /root/.ssh/id_rsa

2、在本地服务器上运行命令,拷贝公钥至远程服务器

# 示例中192.168.1.2为远程服务器IP
ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.1.2

执行此命令需要输入远程服务器密码

3、在本地服务器上运行命令,测试ssh免密登录远程服务器

ssh 192.168.1.2

此时就可以直接免密登录远程服务器进行操作

免密登录方法二

在方法一中,拷贝公钥至远程服务器是通过命令的方式进行,需要输入远程服务器密码,此处介绍的方法则直接将公钥内容保存至远程服务器,无需通过密码的方式进行

1、在本地服务器上运行命令,生成公钥、私钥

ssh-keygen

执行该命令后,系统提示时直接三次回车即可(通常按默认值处理)。

公钥储存在 /root/.ssh/id_rsa.pub
私钥储存在 /root/.ssh/id_rsa

2、在本地服务器上运行命令,查看公钥并复制其内容

vim /root/.ssh/id_rsa.pub

# 复制公钥信息,以下为演示内容
ssh-rsa AAAAA/BBBBB/CCCCC root@centos

3、在目标服务器上运行命令,保存公钥信息

# 将第2步复制的公钥信息粘贴在文件后,然后保存
vim /root/.ssh/authorized_keys

4、在本地服务器上运行命令,测试ssh免密登录远程服务器

ssh 192.168.1.2

此时就可以直接免密登录远程服务器进行操作

额外说明,两种方法本质上是一样的,都是将公钥放置在目标服务器上,无非是方法一通过命令的方式自动完成,方法二通过人工复制的方法手动完成

  • 9
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值