我有一个本地的Windows机器,我通过腻子连接到本地的Linux机器,我将不得不通过sudo使用sshlogin到多个linux服务器。
我想知道是否有一个Windows .bat脚本,这将帮助我完成这个任务。
我通常login到服务器,如下所示:
#ssh [email protected] -v -p2345 #sudo su -
我无法从ServerFault中find任何链接,以实现自动化。 不知道是否忽视或错过了一些.. 🙂
请让我知道是否有人会这样做,如果是的话(如果有人可以提供给我的.bat脚本,将不胜感激)。
干杯
如果在login的每个系统上都需要执行某些操作,则可以configuration和分发一个.bashrc来自动执行login任务。
也就是说,不要自动化sudo-root。 你正在向自己施加上帝的力量; 你至less应该input一个密码来提醒你要小心。 这是一个最好的做法,在我们的商店一个政策,你永远不会追求根源; 你需要做的每件事都应该通过个别的sudo命令来处理。 这样你只需要访问权限, 所有的特权行动都logging下来,sudo提供,提高安全性,偶尔回答“这个系统到底发生了什么?
你想重复运行同一组操作吗? 您可能需要查看Fabric ,这是一个非常酷的Python库,可以通过SSH进入额外的距离,并在计算机上反复运行垃圾。 否则,如果你只是想用sshlogin提示一大堆提示,我会build议如下。
设置SSH密钥(我认为这是你可以访问)。 这是我用PuTTY解释的最简单的教程 。
像这样设置一个batch file。 你可以使用PuTTY,如果你对此很冷静,就把中间人剪掉。 (警告:这只是一个粗略的猜测,在我面前没有Windows电脑,但过去做过这样的事情。)
SET PAGEANT = C:\ path \ to \ pageant.exe
SET PUTTY = C:\ path \ to \ putty.exe
SET PUTTYPRIVKEY = C:\ path \ to \ priv \ key.ppk
SET USER = someuser
SET RPORT = 2345
SET HOSTS = 141.161.1.1 141.161.1.2 141.161.1.3 host1.example.com host2.example.com
REM#激活私钥,假定您明智地进行了密码保护。
“%PAGEANT%”“%PUTTYPRIVKEY%”
FOR%H(%HOSTS%)do(
回声。
ECHO尝试SSH到主机%% H。 。 。
回声。
START“%PUTTY%”-ssh %% H:%RPORT%-2 -l%USER%-i“%PUTTYPRIVKEY%”
)
PuTTY的-m参数也是可能的,根据文档 ,一旦validation就运行对远程主机的脚本。 使用正确的密钥和代理转发( -a或-A ;问你是否不知道),这可能会让你下降到一个button或点击。
这不完全是你要求的,但GNU屏幕是非常有用的pipe理多个服务器: http : //www.gnu.org/software/screen/
要启动或重新连接到某个屏幕会话时,您可以执行此操作:
ssh user@host screen -RD
或者在连接后运行“screen -RD”。 做任何你需要做的事情,然后注销,而不是从屏幕会话中“分离”(Ctr-a d),或者closuresterminal窗口。 下一次你用屏幕ssh,你会马上回到你离开的地方。
在屏幕上的一些更多的信息,无可否认,可以有一些混淆开始: