6

現在、sshを介していくつかのことを実行しているときに、expectを使用するbashスクリプトがあります。次のようになります。

#!/bin/bash
#some bash stuff here
...
/usr/bin/expect -c '
    spawn somescript.sh
    expect "password:"
    send "$PASSWD"
'
...

somescript.sh は ssh 経由でリモート サーバーにコマンドを実行しますが、ログインにパスワードの変更が必要になりました。私はもう試した

/usr/bin/expect -c '
    spawn somescript.sh
    expect "password:"
    send "$PASSWD"
    expect "current password"
    send "$PASSWD"
    expect "new password"
    send "$NEWPASSWD"
'

しかし、次のようなエラーが表示されます。

WARNING: Your password has expired.\n Password change required but 
no TTY available.
4

3 に答える 3

-1

sshこれは、(スクリプトではなく)を使用してボックスに直接接続することで解決できます。

それを行うと、パスワードを変更するように求められます。そうすることで、エラーはなくなります。

于 2014-12-04T19:48:34.060 に答える