在通过SSH完成身份验证之前,正在执行unix命令

时间:2013-10-15 14:38:13

标签: unix batch-file ssh

我尝试使用putty.exe通过java代码和windows打开Unix会话,如下所示:

Runtime.getRuntime().exec("cmd /c start /B C:/scripts/Session.bat ");

'Session.bat'文件内容为:

putty.exe -t -ssh root@aaa -pw abcd -P 22

aaa 是服务器名称。 root 是用户名。 abcd 是密码

现在,会话打开很好,但我想从上面的命令(ll -s,pwd等)运行几个简单的命令。 但是当我尝试将包含这些命令的txt文件添加到上面的命令时,我看到命令在输入的用户名之后和密码之前执行。 完整的命令是:

putty.exe -t -ssh root@aaa -pw abcd -P 22 -m C:\scripts\commands.txt

这就是为什么我得到错误(下面),因为命令“ll”出现在密码之前:

Using username "root".

bash: ll:: command not found

请帮帮我... 感谢

1 个答案:

答案 0 :(得分:0)

在处理密码之前,命令无法在远程计算机上执行。当然,root用户的bash启动文件中缺少别名。

尝试将alias ll='ls -l'添加到/root/.bash_profile?