`
mingren135
  • 浏览: 69271 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics