ssh免登录

44 篇文章 0 订阅
43 篇文章 0 订阅
由于更新代码时,要同时更新N多台机器,如果一台一台的登录上去操作相当的麻烦,而且都是一些重复性的工作,于是就想到用一个shell来做,单机的.sh文件已经做好了,但如果想通过一台机器来调用另外一台机器里的.sh脚本的话, 就必须要登录上去才行,于是就想到了这个ssh免登录的,百度一下ssh免登录都有一大堆的教程,具体就是这几步:

1, 先确认A与B这两台机器上都已经安装了openssh,如果没有安装请安装就可以了,centos里用yum install openssh来安装就可以了

2,在/root目录下看看有没有.ssh这个目录,注意前面有一个.,如果没有则新建一个mkdir -p .ssh

3,进行到这个.ssh目录下,输入
ssh-keygen -t rsa -P ''

则会在该目录下生成两个文件,一个是id_rsa, id_rsa.put,put的那个是公钥,另外一个当然就是私钥了。

4,登录到B机器上,也得先确定是否有安装openssh,如果没有则重复1,2这两步

5,再回到A机器上,在.ssh目录下输入:
scp /root/.ssh/id_rsa.pub root@xxx.xxx.xx.xx:/root/.ssh/id_rsa.pub
, 一连串提示后则输入B机器的登录密码,完成后则可以在B机器下的/root/.ssh目录看到有id_rsa.pub这个文件

6,回到B机器上,在.ssh目录下输入:

cat id_rsa.pub >> authorized_keys
chmod 600 authorized_keys

将id_rsa.pub追加到authorized_keys文件最后,再将该文件改为600的权限

7,再回到A机器下输入:
ssh root@xxx.xx.xx(B机器的IP地址)
即可登录

如果需要在登录后执行某些命令,建议可将这些命令做成一个.sh文件,然后输入
ssh root@xxx.xxx.xxx.xxx 'sh /mnt/xxx.sh'

这个xxx.sh就是你要执行的操作命令

其实这个SSH登录是相当的简单的,其原理就是通过私/公钥来进行匹配,因为在拥有私钥的那一个机器上,还会有一个know_host这样的文件,应该就是根据这个已经知host与公私钥对应,如果匹配即登录成功。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值