【发布时间】:2013-03-18 07:23:45
【问题描述】:
我编写了一个 shell 脚本,它为用户提供一个登录帐户列表,当用户选择一个帐户时,他/她通过 ssh 登录到所选帐户。脚本从主帐户运行并具有密码- 与列表中的所有其他帐户(从属)的 ssh 连接较少。我想launch another putty session 与从属帐户详细信息作为参数传递,而不是来自主帐户的 ssh 连接。我怎样才能实现这一点?
我想到的一件事是,如果我可以编写一个将帐户信息作为参数的批处理文件(我的用户使用 windows)。并且这个批处理 script 可以在 unix 脚本中调用(这可能吗)。所以 unix 脚本将通过 ssh 在 windows 上执行批处理文件,并且在此过程中它还将参数(服务器详细信息)传递给 putty。
或者还有其他更好的方法吗?
编辑
要从 linux 机器 ssh 到 windows 机器,是否必须在 Windows 机器上托管某种服务器(即 telnet、ssh、ftp 或任何其他类型的服务器)?
【问题讨论】:
-
"可以在 unix 脚本中调用批处理"。你这是什么意思?你不能在 Windows 上运行 unix shell 脚本(除非你使用像 cygwin 之类的东西),无论如何你只能使用
ssh。可能我没听懂…… -
我还是不明白你是如何从 unix 脚本调用 windows 批处理文件的...你是从 *nix 盒子 ssh 到 Windows 盒子吗?
-
是的,要从 unix 在 windows 上执行批处理文件,我必须 ssh 到 windows 并运行这个批处理文件。
-
查看这个:etherealmind.com/putty-command-line 以获取有关从命令行运行 putty 的信息。另外,我并不完全清楚您是如何执行此操作的,但您可以将用户凭据设置为 Windows 变量
-
另外:理论上,你应该可以使用 ssh -t user@host 'C:\pathtoputty\putty.exe'。使用上面的链接(和转义字符),您应该能够拼凑出我认为您的意思:)
标签: linux windows unix ssh putty