Как настроить ssh, чтобы не вводить пароль
Вы можете создать идентификационный ключ RSA, чтобы иметь возможность заходить на удалённый сайт с вашей учётной записи без ввода пароля.
Заметьте, что после такой настройки, если взломщик проникнет в вашу учётную запись или сайт, он получит доступ к сайту с вашими правами, также не вводя пароль! Поэтому это никогда не следует делать от лица пользователя root.
- Запустите
ssh-keygen(1)
на вашей машине и просто нажмите Enter во время запроса пароля.
Будут созданы частный и публичный ключи. В более старых версиях SSH, они будут сохранены в файлы~/.ssh/identity
и~/.ssh/identity.pub
; в более новых версиях они будут сохранены в файлы~/.ssh/id_rsa
и~/.ssh/id_rsa.pub
. - Далее, добавьте содержимое файла с публичным ключом в
~/.ssh/authorized_keys
на удалённом сайте (права доступа к файлу должны иметь значение 600).
Если вы являетесь разработчиком и хотите получить доступ к системам debian.org с использованием такого ключа, через базу данных разработчиков ваш ключ можно распространить на все машины debian.org. См. документацию по шлюзу LDAP.
Теперь у вас должна появиться возможность использовать ssh для входа на удалённый сервер без запроса пароля.
Важно! Заметьте, что любой, имеющий доступ для чтения
к такому частному ключу, может использовать его для доступа
к удалённому сайту без пароля. Это включает любого, кто имеет доступ
к вашей локальной машине с правами root. Следовательно, если вы не являетесь
единственным, кто имеет доступ к вашей машине с правами root, настоятельно рекомендуется использовать пароль
для вашего частного ключа. Вы можете использовать ssh-agent(1)
и
ssh-add(1)
, чтобы вводить ваш пароль только один раз
для всех использований конкретного ключ во время одной сессии. Вы можете автоматически загрузить все
ваши ключи в базу агента, добавив следующие строки в
файл ~/.xsession
file:
# if use-ssh-agent is specified in /etc/X11/Xsession.options # (this is the default) then you need only the second line # eval ssh-agent ssh-add <имя-файла-с-ключом-ssh>
Для запуска ssh-add
без терминала, следует
установить пакет ssh-askpass
.