Массовая смена пароля на серверах Linux

Рейтинг:   / 1
ПлохоОтлично 

Отделом безопасности была поставлена задача сменить свой пароль на всех серверах Linux.

А серверов таких много, и заходить на каждый менять вручную не хочется. Поэтому я решил обратиться ChatGPT за скриптом, который будет менять пароль на всех серверах из моего списка. Это PowerShell скрипт, запускаемый с Windows машины:

# Установка модуля (если ещё не установлен)
Install-Module -Name Posh-SSH -Scope CurrentUser

Import-Module Posh-SSH

$hostsFile = Join-Path $PSScriptRoot "hosts.txt"
if (-not (Test-Path $hostsFile)) {
    Write-Error "Не найден файл hosts.txt по пути $hostsFile"
    exit 1
}
$servers = Get-Content -LiteralPath $hostsFile

$username = "youruser"
$oldPass = "old_password"
$newPass = "new_password"

$secOld = ConvertTo-SecureString $oldPass -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential($username, $secOld)

foreach ($server in $servers) {
    Write-Host "Подключение к ${server} …"
    try {
        $session = New-SSHSession -ComputerName $server -Credential $cred -AcceptKey
        $cmd = "printf '%s\n' $oldPass $newPass $newPass | passwd"
        $res = Invoke-SSHCommand -SessionId $session.SessionId -Command $cmd
        Write-Host "Результат на ${server}: $($res.Output)"
    }
    catch {
        Write-Warning "Ошибка на ${server}: $_"
    }
    finally {
        if ($session) { Remove-SSHSession -SessionId $session.SessionId }
    }
}

Нужно изменить под себя вот эти переменные:

$username = "youruser"
$oldPass = "old_password"
$newPass = "new_password"

А файл hosts.txt наполнить списком своих серверов в таком виде:

server1
server2
192.168.0.10
server4.domain

Скрипт и файл hosts.txt должны лежать в одном каталоге.

СКАЧАТЬ скрипт

Всё. После запуска скрипт пойдёт по серверам менять пароли:

Донаты принимаются на кошельки:

Yoomoney:
4100118091867315

Карта Т-Банк (бывший Тиньков):
2200 7017 2612 2077

Карта Альфа-Банк:
2200 1539 1357 2013

You have no rights to post comments

Вы здесь: Home Мои Заметки Массовая смена пароля на серверах Linux