mobaxterm 花活儿

mobaxterm 花活儿

因为 mobaxterm 有对 Cygwin 的支持,依赖于此,我们可以直接使用一些 Linux 的应用包。

环境变量的配置

  • 默认本地用户没有 ~/.bashrc​ 配置,环境变量都是来自全局的 /etc/profile

    # 创建子目录,托管自定义环境变量和自动补全脚本
    mkdir /etc/profile.d/
    # 举个自动补全的例子
    kubectl completion bash > /etc/profile.d/kubectl.sh
    # 加载
    source /etc/profile
    
  • 应用自定义了很多 alias 配置,路径是 /etc/baseprofile

    # 定义一个工作目录的别名
    alias cw="cd /mnt/d/CodePro/script"
    
  • 补充:有些环境变量会在软件重启后被重置,即便配置存在,所以有时候需要手动加载。

使用 sshpass 批量管理

被管理终端的终端设备,不允许安装额外应用,也不允许设置免密

  1. 打开 mobaxterm 应用,安装 sshpass 工具

    1. 方式一:在快捷菜单中选择 packages​ ,然后搜索安装
    2. 方式二(推荐):开启本地终端 start local terminal​(新建页签,默认创建),执行 apt install sshpass​ 安装
  2. 照常执行我们想要的操作

    sshpass -p <password> ssh -o StrictHostKeyChecking=no user@host_ip "hostname"
    
    • sshpass -p 指定用户密码,该密码会传递给 ssh 使用
    • ssh -o 使用附加参数,StrictHostKeyChecking=no​ 不提醒校验(登录时,提醒输密码那个)
    • 输入自己的用户名和IP,用户名和前面传递的密码需要对应
    • 执行的命令
  3. 尝试批量执行

    for i in 172.16.14.{100..110};
    do sshpass -p mima.123 ssh -o StrictHostKeyChecking=no root@${i} "hostname;hostname -I;exit"
    done
    
  4. 批量修改ssh 端口

    for i in 172.16.14.{100..110};
    do sshpass -p mima ssh -o StrictHostKeyChecking=no root@${i} 'hostname;hostname -I;sed -i.bak "s|#Port .*|Port 1022|" /etc/ssh/sshd_config;exit'
    done
    
    • 配置额外的端口,sed -i.bak 源文件会自动备份

      # 在原本的配置下添加,源文件配置在第14行
      sed -i.bak '15i\Port 1022' /etc/ssh/sshd_config
      

ansible 的使用

因为ansible是Linux环境下的应用,在Windows下并没有客户端,所以有些场景让我们很被动。所以借助 mobaxterm 安装 ansible,然后配置后进行操作。

重点:配置主机信息时需要指定登录的用户名,不配置用户名,会使用本地用户名登录。

  1. 安装 ansible 应用,图像化选择 packages 进行安装,或者执行命令

    apt install ansible
    
  2. 修改 ansible 的 hosts 配置

    # vim /etc/ansible/hosts
    [test]
    10.10.10.222 ansible_ssh_user=zen ansible_ssh_password='mima'
    [master]
    192.168.80.201 ansible_user=root
    [node]
    192.168.80.[202:203] ansible_user=root ansible_password='mima'
    

    因为安装的ansible版本足够,新旧两种传参模式都可以使用。普通用户做的免密没生效,所以给传了密码,不知道是我本地环境的污染,还是别的原因。在不允许做免密的环境,直接传递密码也是不错的方式。

    # 设置一组全局的用户名和密码,生产环境统一配置的重要性
    [all:var]
    ansible_user=zen
    ansible_password='mima'
    
  3. 测试

    ansible test -m ping
    

posted @ 2023-12-29 10:52  虫祇  阅读(493)  评论(0)    收藏  举报