0

我制作了 2 个 Expect 脚本以通过 SSH 连接到服务器列表并更改密码。一种用于 AIX,一种用于 RedHat Linux。

AIX 脚本运行良好,但 Linux 脚本给了我一个问题。原因是在 Linux 服务器上,当您被迫更改过期密码时,更改密码后远程端会终止 SSH 会话。

passwd: all authentication tokens updated successfully.
Connection to drm23rdv closed.
send: spawn id exp20 not open
while executing...

此时脚本完全停止,仍然有很多服务器需要登录。(当前密码只是一个临时密码,虽然我可以修改脚本以使用我的永久密码选择,但我喜欢以 root 身份执行此操作)

在初始的强制密码更改之后,我想做的是重新登录服务器并以 root 身份再次更改密码。我很确定我可以处理这个问题,但首先我需要想出一种方法来处理关闭的 SSH 会话,而不仅仅是放弃。

4

1 回答 1

1

使用expect eof {do something},否则连接可能随时关闭,请使用expect_before {eof {do something}}

于 2013-11-15T13:29:24.637 回答