【问题标题】:How to make shell script to automatically input value如何使shell脚本自动输入值
【发布时间】:2017-02-24 00:15:36
【问题描述】:

我正在尝试使用以下小脚本将 ssh 公钥复制到我网络上的所有主机

#!/bin/bash
for ip in $(nmap -n -sn 192.0.2.0/24 -oG - | awk '/Up$/{print $2}'); do
  ssh-copy-id vagrant@$ip
done

但是,它会要求每个 IP 的密码,在执行脚本之前,密码是未知的。如何让这个脚本自动输入密码(在这种情况下所有主机都一样)?

【问题讨论】:

  • 你想要expect。在这个网站上搜索 expect/ssh 问题,你会找到很多答案。

标签: bash shell ssh scripting automation


【解决方案1】:

使用sshpass。请注意,在脚本中存储密码不是一个好主意,但它会完成设置工作:

#!/bin/bash
for ip in $(nmap -n -sn 192.0.2.0/24 -oG - | awk '/Up$/{print $2}'); do
  sshpass -p password ssh-copy-id vagrant@$ip
done

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-23
    • 1970-01-01
    • 2011-10-24
    • 2015-10-10
    • 1970-01-01
    • 2020-05-13
    相关资源
    最近更新 更多