bat脚本实现使用putty工具批量ssh登录交换机并执行某条命令
时间: 2024-10-02 18:04:26 浏览: 182
在Windows系统中,可以使用批处理(BAT)脚本来配合PuTTY工具实现批量SSH连接到交换机并执行特定命令。首先,你需要安装 PuTTY 和 Pageant(一个SSH代理程序),它们分别用于SSH客户端和密钥管理。
以下是一个简单的示例BAT脚本结构:
```batch
@echo off
setlocal enabledelayedexpansion
:: 定义源文件(包含交换机信息)
set source_file=switches.txt
:: 创建一个临时的PuTTY配置文件
if not exist temp.psc (
echo OpenSSH hostname,username,password >>temp.psc
)
:: 循环读取source_file中的每行交换机信息
for /f "tokens=*" %%i in (%source_file%) do (
:: 从每一行提取相关信息
set host=%%i
set command="your_command_here" // 替换为你想要执行的具体命令
:: 使用Pageant加载私钥(如果有的话)
start "" "path\to\pageant.exe"
:: 启动PuTTY,并将命令行传递给远程主机
putty -load !host! -m "!command!" -m "exit"
pause >nul
)
:: 清理临时PuTTY配置文件
del temp.psc
endlocal
```
在这个脚本中,`switches.txt` 文件应包含一行一个交换机的信息,格式通常是 `hostname username password`,每一行对应一台设备。`your_command_here` 需替换为你想在每次SSH连接后执行的实际命令,最后一条`putty ... -m "exit"` 是为了执行完命令后关闭连接。
注意:
1. 把 `path\to\pageant.exe` 和 `path\to\putty.exe` 修改成实际的PuTTY和Pageant的路径。
2. 如果有公钥认证,你需要修改 `-load !host!` 后面的参数,并确保Pageant已经加载了相应的公钥。
3. 脚本运行时可能会提示输入密码,需要用户手动操作。
阅读全文