Как восстановить пароль ssh с помощью рабочего ключа ssh

Использование толькоawk:

function list_insert (value, id, tmp) {
    for (i = 1; i <= list_length; ++i)
        if (value > value_list[i]) {
            tmp = value_list[i]
            value_list[i] = value
            value = tmp

            tmp = id_list[i]
            id_list[i] = id
            id = tmp
        }
}

BEGIN {
    FS = "[= ]"
    list_length = 3
}

$1 == "Req_id"     { id = $2 }
$1 == "Time_taken" { list_insert($2, id) }

END {
    printf("Below Request Id took more then expected\n")
    for (i = 1; i <= list_length; ++i)
        printf("Request id %d, time taken %d sec\n", id_list[i], value_list[i])
}

Эта программа поддерживает два массива, value_listи id_list, оба имеют длину list_length. Массив value_listотсортирован и содержит значения времени, а массив id_listсодержит идентификаторы запросов, соответствующие значениям в первом списке.

Функция list_insertвставляет новое значение и идентификатор в два массива таким образом, чтобы порядок массива value_listсохранялся (она находит правильное место для вставки, а затем перемешивает оставшиеся элементы в направлении конец ).

Остальная часть программы считывает данные как разделенные новой строкой -записи полей, разделенных =или пробелами. При обнаружении идентификатора запроса он сохраняется в id, а при обнаружении записи «затраченного времени» этот идентификатор и значение затраченного времени вставляются в массивы.

В конце два массива используются для создания вывода.

Проверка:

$ awk -f script.awk file
Below Request Id took more then expected
Request id 3456, time taken 200 sec
Request id 3001, time taken 15 sec
Request id 1234, time taken 10 sec
6
02.10.2020, 11:22
2 ответа

Нет, между паролем учетной записи и ключом ssh нет никакой связи.

Вы можете войти в учетную запись с помощью ssh с помощью ключа, даже если у нее нет пароля.


Для обновленного вопроса да, введите:

su YOURUSERNAME

, затем попробуйте, если вы помните свой пароль

10
18.03.2021, 23:00

Ключ SSH полностью независим от пароля. Знание ключа не поможет подобрать пароль.

Если вы являетесь пользователем root на сервере, вы можете получить хэш пароля. Он находится в /etc/shadow, если это локальная учетная запись, или его можно получить из сетевой базы данных, такой как LDAP. В Linux попробуйте sudo getent shadow $USER. Получив хэш пароля, вы можете попробовать его в автономном режиме. Если у вас есть только несколько вариантов пароля, вы можете использовать этот один вкладыш -, где $6$stuff$more.stuff— второе поле, разделенное:/etc/shadow:

.
perl -l -pe '$_ = crypt $_, q:$6$stuff$more.stuff:'

Если вам нужна более грубая -сила, поищите программное обеспечение для управляемой атаки на пароль. Я недостаточно знаком, чтобы давать рекомендации.

Конечно, если вы являетесь пользователем root на сервере, вы также можете изменить пароль.

7
18.03.2021, 23:00

Теги

Похожие вопросы