SSH命令 - 自动/脚本

时间:2011-11-07 19:45:02

标签: ssh command

我环顾四周,似乎无法找到问题的答案。我正在寻找一种方法来自动化/编写一组SSH命令来从我们的Sonicwall路由器导出配置文件。我有sonicwall命令设置,但我无法自动化它们。当我用SSH连接到我们的一个声波壁时,系统会提示用户。我输入用户名,然后再次提示输入用户名和密码。输入正确的信息后,我就可以执行配置的导出。以下是布局示例。如果有人知道自动化/编写脚本的方法,请告诉我。 提前谢谢

用户:%USERNAME%

用户:%username%

密码:%password%

命令:导出首选项ftp%ftpserver %% ftpuser %% ftpPassword%backup.exp

4 个答案:

答案 0 :(得分:1)

使用密钥而不是用户ID /密码。 http://pkeck.myweb.uga.edu/ssh/

答案 1 :(得分:1)

路由器需要SSH用户名,但不是密码。一旦您通过SSH使用用户名“登录”,Sonicwall将使用其内部身份验证机制提示输入用户名和密码。与Sonicwall CLI中的任何其他提示一样处理这些提示。您可以通过stdin传递命令(包括用户名/密码),例如:

(echo -e 'admin\npassword'; sleep 1; echo tsr; sleep 2; echo logout; sleep 1) | ssh admin@10.50.14.41

答案 2 :(得分:0)

这个帖子很老但我终于把这些愚蠢的sonicwalls编写成了脚本。这不是我的代码,我不知道我在哪里找到它但是它有效并且你可以做任何事情。只需更改IP和登录等等。

@if (@CodeSection == @Batch) @then

@echo on
set SendKeys=CScript //nologo //E:JScript "%~F0"

start \putty -ssh admin@IP.IP.IP.IP 22

TIMEOUT /T 5
%SendKeys% "admin{ENTER}"
TIMEOUT /T 2
%SendKeys% "password{ENTER}"
TIMEOUT /T 2
%SendKeys% "restart{ENTER}"
TIMEOUT /T 2
%SendKeys% "y{ENTER}"

pause
@end

WScript.CreateObject("WScript.Shell").SendKeys(WScript.Arguments(0));

答案 3 :(得分:0)

尝试关注.....

plink -ssh admin@10.20.30.10 < m.txt

< m.txt >

password

ping 1.1.1.1

tracerout 1.1.1.1

exit