GNU/Linux >> Linux の 問題 >  >> Linux

ssh経由でLinuxサーバーのパスワードを変更するスクリプト

リモート マシンをインストールする必要はありません。ローカル ワークステーションまたは VM (virtualbox) またはいずれかの *nix ボックスに expect をインストールし、この .ex (expect) スクリプトを呼び出すラッパーを作成できます (ディストリビューションごとに小さな変更がある場合があります。これは CentOS 5/6 でテストされています)。 ):

#!/usr/bin/expect -f
# wrapper to make passwd(1) be non-interactive
# username is passed as 1st arg, passwd as 2nd

set username [lindex $argv 0]
set password [lindex $argv 1]
set serverid [lindex $argv 2]
set newpassword [lindex $argv 3]

spawn ssh $serverid passwd
expect "assword:"
send "$password\r"
expect "UNIX password:"
send "$password\r"
expect "password:"
send "$newpassword\r"
expect "password:"
send "$newpassword\r"
expect eof

passwd を使用するために root アクセスは必要ありません .

これで問題なく動作するはずです。

passwd <<EOF
old password
new password
new password
EOF

Linux
  1. sshpassを使用したLinuxでのSSHパスワードの自動化

  2. Linuxでユーザーパスワードを設定または変更する

  3. Linuxでパスワード変更ログを表示する

  1. Linuxでパスワードを変更する方法(passwdコマンド)

  2. LinuxでSSHポートを変更する方法

  3. Linux でのパニック パスワード

  1. KaliLinuxでのHydraを使用したSSHパスワードテスト

  2. Bash スクリプトで Expect を使用して、SSH コマンドにパスワードを提供する

  3. Linux サーバーのデフォルトの SSH ポートを変更する必要がありますか?