Linux配置ssh免密问题


通过ssh免密操作,把公钥拷贝到远程服务器中,可以实现以下几种情况

# 情况一:可以免密登录到远程服务器
ssh 用户名@IP
# 情况二:拷贝文件到远程服务器
scp 本地文件路径 用户名@IP:远程文件的路径
# 情况三:执行远程服务器的脚本
ssh 用户名@IP "sh 脚本的绝对路径"

问题描述:

在频繁的登录和拷贝文件到远程服务器的使用,我们就可以配置这样的ssh免密操作。比如Jenkins的持续部署,我们需要把拉取下来的项目拷贝到远程服务器中,并且去执行远程服务器的启动项目脚本来发布项目。


一、生成密钥

1.执行命令,这里一直回车直到结束

ssh-keygen

2.查看用户下的.ssh文件夹。如果是root用户,则在/root目录下,其他用户则在/home/用户名/。这里我是用test用户来生成密钥,所以进入/home/test查看

cd /home/test

3.执行ls -a,查看用户下的文件夹,可以看到,是有.ssh文件夹的
在这里插入图片描述
4.查看.ssh下的文件夹
在这里插入图片描述

  • id_rsa : 私钥文件
  • id_rsa.pub : 公钥文件

二、配置免密方式

这里拷贝公钥到要免密登录的服务器B中
1.通过命令ssh-copy-id(第一次执行需要密码验证)

ssh-copy-id 远程服务器用户名:IP

2.手动将公钥拷贝到远程服务器中

# 首先查看远程服务器的.ssh文件夹有没有文件authorized_keys。如果没有则创建,再拷贝。如果有则直接复制
# authorized_keys:当主机远程连接该服务器时,就会把主机的公钥记录在该文件中(生成密钥时是没有该文件的)
touch 远程服务器用户目录/.ssh/authorized_keys

至此,就可以去免密登录、拷贝文件、执行脚本等命令啦
第一次写这个,如果写得不好,请见谅。也请多多指教^ _ ^。如果有跟你相似的地方,请私聊我,我马上删除或标注出处。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值