stackstorm docker中配置ssh免密码登录方式

在docker中配置st2的ssh登录方式折腾了好久,今天终于彻底搞懂了如何重启容器后也不丢失之前的配置,只要容器起来后就可以正常ssh 执行st2中的remote-shell-script 和remote-shell-cmd

1:修改docker-compose.yml  新增挂在目录,目的是将st2使用ssh时的配置放到宿主机的目录中,方便修改维护

 

主要是将st2中的/etc/st2/st2.conf 映射到st2-etc-config-volume:/etc/st2    

默认的映射目录在(centos7): /var/lib/docker/volumes/ 

进入/var/lib/docker/volumes/

编辑 st2.conf  (配置ssh 运行是指定的用户和秘钥所在目录)

在st2容器中生成秘钥的时候不要用默认的目录,不然容器重启后所配置的ssh就失效了,要把秘钥文件设置到挂在目录,防止容器重启失效

docker-compose up -d  启动

2:进入容器  

或者 先查到容器的id  docker exec -it e01482cc0755 bash

切换到configs目录

ssh-key-gen -t rsa  

秘钥的目录不要放在默认的/home/***中,放在/opt/stackstorm/configs/.ssh/id_rsa

通过分发秘钥,

ssh-copy-id -i /opt/stackstorm/configs/.ssh/id_rsa.pub root@192.168.1.160
这一步有可能会分发失败,可以通过在目标机器中编辑 vim /etc/ssh/sshd_config

将PasswordAuthentication no 改为yes

再执行分发秘钥即可

3:以上操作执行完毕后需要将st2 重启,以加载新的配置使其生效

st2ctl restart  

 

这样整个在容器中配置ssh 登录多台机器即可完成

针对docker安装的st2 说先将docker-compose.yml 添加新的挂在目录,配置st2.conf

ssh秘钥生成时需要放到挂在目录,防止容器重启失效,

最后重启st2服务,整个过程处理完毕,开心的运行st2的各种远程命名.

 

转载于:https://www.cnblogs.com/fly-kaka/p/10882406.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值