Ssh-агент хранит мой пароль?

Если Вы спрашиваете, как распечатать один символ на экран за один раз (обычно показываемый стиль 'хакера' в голливудских фильмах), следующий сценарий должен быть достаточным (он берет вход от stdin).

В bash:

#!/bin/bash

while IFS= read -r line; do
    length="${#line}"
    bol=1
    for (( offset = 0 ; offset < length ; offset++ )); do
        char="${line:offset:1}"
        printf '%s' "$char"
        if (( bol )) && [[ "$char" == " " ]]; then
            continue
        fi
        bol=0
        sleep 0.05
    done

    if (( length == 0 )); then
        sleep 0.$(( RANDOM % 3 + 2 ))
    else
        sleep 0.$(( RANDOM % 7 + 3 ))
    fi

    printf '\n'
done

Или, более простая версия в C:

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int main(void) {
    char buf[1];
    int len;

    while ((len = read(STDIN_FILENO, buf, sizeof(buf))) > 0) {
        if (write(STDOUT_FILENO, buf, len) != len) {
            perror("write");
            return EXIT_FAILURE;
        }
        usleep(50000);
    }
    if (len != 0) {
        perror("read");
        return EXIT_FAILURE;
    }
    return EXIT_SUCCESS;
}

Если Вы хотели использовать dmesg как введено, например:

dmesg | hollywood
10
28.07.2011, 12:29
1 ответ

Нет, это не хранит пароль.

То, что это действительно делает, сохранить, разблокировал/дешифровал ключ в памяти так, чтобы это могло использовать его для входа в систему, запрашивает добавление - необходимое основание, не предлагая пользователю разблокировать его каждый раз. Пока у Вас есть агент, выполняющий Вашу сессию, уязвимо для кого-то с необходимыми полномочиями (Ваш пользователь или корень) доступ к сокету, который говорит с агентом, и использующий любые ключи загружаются в Вашем агенте, чтобы подписать их собственные запросы и таким образом войти во что-либо, во что Ваш закрытый ключ получает Вас.

11
27.01.2020, 20:02

Теги

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