ssh 遍历IPS 进行连接

简介:

今天生产要批量连接服务器并执行命令:把所有的IP写到一个iplist文件,然后用while read 和for进行遍历拼接ssh命令发现两个问题:ssh连接参数-n 和while read与for读取的区别

脚本

iplist

192.168.4.12

192.168.4.13

192.168.4.14


tongjidf.sh

#!/bin/bash

cmd="df -m | grep app"

while read line

do

ssh xxxx@${line} $cmd

done <./iplist

执行的结果发现只连接了一个地址192.168.4.12、后面的地址没有执行

然后改成了for

#!/bin/bash

cmd="df -m|grep app"

for ips in `cat iplist`

do

ssh xxxx@${line} $cmd

done

这个脚本就可以实现连接以上所有地址然后进行命令执行。

终于找到了一个说法:就是for是一行一行的读取,而while read line是一次读取放入内存

第二个就是ssh默认读取本地的内容,而-n参数阻止了,而是从/dev/null/读取,这样一来ssh如果用while read line的形式就是连接一个

-n      Redirects stdin from /dev/null (actually, prevents reading from stdin).  This must be used when ssh is run in the background.  A
             common trick is to use this to run X11 programs on a remote machine.  For example, ssh -n shadows.cs.hut.fi emacs & will start
             an emacs on shadows.cs.hut.fi, and the X11 connection will be automatically forwarded over an encrypted channel.  The ssh pro-
             gram will be put in the background.  (This does not work if ssh needs to ask for a password or passphrase; see also the -f




本文转自 aklaus 51CTO博客,原文链接:http://blog.51cto.com/aklaus/1766401


相关文章
|
2月前
|
网络安全 开发工具 git
配置本地环境以管理Git多账户SSH连接的方法
通过以上步駟设置后, 您可以轻松管理多個 Git 账户并且根据不同项目需求切换 SSH 密匙进行版本控制操作。
278 20
|
2月前
|
Unix Linux Shell
指定端口-SSH连接的目标(告别 22 端口暴力破解)
本文介绍了 SSH 命令 `ssh -p 44907 root@IP` 的含义与使用方法,包括命令结构拆解、完整示例及执行过程详解,帮助用户安全地远程登录服务器。
261 0
|
3月前
|
网络安全 数据安全/隐私保护 开发者
诊断并修复SSH连接Github时遇到的"connection closed"错误。
解决"connection closed"错误往往是一个排除法的过程。需要从基础的网络检查做起,逐步过渡到深入的配置和服务端日志审查。每一步都应当仔细验证,确保不遗漏可能导致连接问题的任何细节。在执行以上步骤后,大多数SSH连接问题可以得到解决。如果所有步骤都未能解决问题,可能需要寻求更专业的技术支持,或者在GitHub社区寻找是否有其他开发者遇到并解决了类似的问题。
449 0
|
3月前
|
安全 网络安全 数据安全/隐私保护
解决SSH测试连接GitHub时出现“connection closed by remote host”的问题。
然后使用 `ssh -T git@ssh.github.com`来测试连接。
442 0
|
11月前
|
Java 数据库连接 网络安全
JDBC常用特性-SSH隧道连接
JDBC常用特性-SSH隧道连接
|
Ubuntu Shell 网络安全
安装了ubuntu虚拟机后发现shell无法连接 ubuntu开启ssh连接
【8月更文挑战第23天】安装了ubuntu虚拟机后发现shell无法连接
1288 6
|
8月前
|
安全 Linux 网络安全
CentOS 8下SSH连接超时与“无法加载主机密钥”错误的排查与修复
在CentOS 8系统中,宝塔面板提示“出错了,面板运行时发生错误”,导致插件无法正常显示。同时,SSH连接超时,修复面板功能失效。通过VNC连接排查,发现SSH服务安装和配置问题频发,最终通过重装SSH、调整权限并重新生成主机密钥文件解决问题,成功恢复SSH连接。
539 16
|
安全 网络安全 算法框架/工具
SSH高版本连接问题排查
【6月更文挑战第21天】SSH高版本连接问题排查
1080 0
|
网络安全 数据安全/隐私保护 C++
VS Code 的SSH连接不成功问题分析与解决
VS Code 的SSH连接不成功问题分析与解决
|
安全 Linux 网络安全
Docker部署ssh连接工具webssh2
【8月更文挑战第2天】Docker部署ssh连接工具webssh2
1132 6
Docker部署ssh连接工具webssh2