Linux-ssh公钥登录

随着线上机器的增多,在多台机器上查找日志的需求越来越多了,最近决定写个web版的日志搜索后台,第一个要解决的问题就是频繁的人机交互问题。SSH命令远程执行命令首先需要建立相关主机间的信任关系,否则在执行命令前SSH命令会提示你输入用户密码,不利于脚本的自动化。

 

建立信任关系步骤:

1)在一台机器上生成本机的公钥和私钥文件:ssh-keygen -t rsa

2)~/.ssh下会出现两个文件:idrsa和idrsa.pub。其中idrsa.pub为公钥文件,将其内容复制到远程主机的

~/.ssh目录下的authorized_keys文件中

然后就可以在不输入密码的情况下在远程主机上执行命令。将上面的过程写成脚本如下:

 

#!/usr/local/bin/sh

filename=$1
remotehost=$2
pub='tmp.pk'
remotekey='.ssh/authorized_keys'

cat .ssh/$filename > $pub
scp $pub $USER@$remotehost:~/
cmd='if [ ! -e '$remotekey' ];then touch '$remotekey'; fi; cat '$pub' >> '$remotekey'; rm -rf '$pub
#echo $cmd
ssh $USER@$remotehost $cmd

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值