业务场景中经常需要进行跨服务器的操作,即从一台服务器上登录到另外一台服务器,默认情况下,SSH远程登录时需要输入远程服务器密码。当需要在可信任的服务器之间进行频繁或自动化的操作时,输入密码就会带来不便。
本文介绍如何实现SSH远程免密登录。
假设有2台服务器,要实现本地服务器SSH免密登录远程服务器。
本地服务器:192.168.1.1
远程服务器:192.168.1.2
ssh-keygen
执行该命令后,系统提示时直接三次回车即可(通常按默认值处理)。
公钥储存在 /root/.ssh/id_rsa.pub 私钥储存在 /root/.ssh/id_rsa
# 示例中192.168.1.2为远程服务器IP
ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.1.2
执行此命令需要输入远程服务器密码
ssh 192.168.1.2
此时就可以直接免密登录远程服务器进行操作
在方法一中,拷贝公钥至远程服务器是通过命令的方式进行,需要输入远程服务器密码,此处介绍的方法则直接将公钥内容保存至远程服务器,无需通过密码的方式进行
ssh-keygen
执行该命令后,系统提示时直接三次回车即可(通常按默认值处理)。
公钥储存在 /root/.ssh/id_rsa.pub 私钥储存在 /root/.ssh/id_rsa
vim /root/.ssh/id_rsa.pub
# 复制公钥信息,以下为演示内容
ssh-rsa AAAAA/BBBBB/CCCCC root@centos
# 将第2步复制的公钥信息粘贴在文件后,然后保存
vim /root/.ssh/authorized_keys
ssh 192.168.1.2
此时就可以直接免密登录远程服务器进行操作
额外说明,两种方法本质上是一样的,都是将公钥放置在目标服务器上,无非是方法一通过命令的方式自动完成,方法二通过人工复制的方法手动完成
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。