2

В настоящее время у меня есть настройка, которая позволяет мне подключаться ко всем компьютерам в моей домашней сети через ключи SSH и RSA. Я очень беспокоюсь о безопасности, поэтому все мои ключи защищены парольной фразой. По сути, я хотел бы настроить что-то, где я запускаю Unison для задания cron для резервного копирования на файловый сервер в моей сети, который мы назовем timmy . Я заметил , что первый раз , когда я пытаюсь использовать ключ на моем Ubuntu ноутбуков teeks я получаю диалоговое окно , которое выскакивает прошу меня ввести свой пароль ключа. Я слышал, что для серверов, нуждающихся в автоматическом резервном копировании, подобных этому, нужно использовать ssh-agent для запроса ключевой фразы при входе в систему / запуске сервера. Как я могу настроить это на teeks?

Я бы хотел, чтобы произошло следующее:

  1. Когда я загружаюсь и захожу в ОС, визуально запрашивайте парольную фразу, как это делается при первом использовании ключа.
  2. Если я подключаю SSH к этому компьютеру (поскольку он подключен к Интернету) и еще не предоставил парольную фразу SSH, то запросите его. (Иногда мне может понадобиться удаленно перезагрузить компьютер через SSH, поэтому я буду подключаться к нему по SSH после перезагрузки, и я хотел бы иметь возможность аутентифицировать ключ без необходимости использовать VNC и делать это вручную.)

Есть ли инструмент, который я могу использовать для этого?

2 ответа2

1

Вы можете запустить ssh-agent при входе в оболочку, поместив в свой .profile:

SSH_ENV="$HOME/.ssh/environment"

function start_agent {
     echo "Initialising new SSH agent..."
     /usr/bin/ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}"
     echo succeeded
     chmod 600 "${SSH_ENV}"
     . "${SSH_ENV}" > /dev/null
     /usr/bin/ssh-add;
}

# Source SSH settings, if applicable

if [ -f "${SSH_ENV}" ]; then
     . "${SSH_ENV}" > /dev/null
     #ps ${SSH_AGENT_PID} doesn't work under cywgin
     ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
         start_agent;
     }
else
     start_agent;
fi
0

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

Вы можете увидеть образцы на http://www.panticz.de/ssh_certificate_authentication и более подробную информацию на openssh сайте http://www.openssh.com/

С уважением

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .