раздел 03
Удобство и безопасность
Ключи настроены, вход без пароля работает. Теперь сделаем это удобным в повседневной работе и закроем сервер по-настоящему.
Короткий алиас вместо длинной команды
Каждый раз писать ssh user@IP неудобно, особенно если адрес длинный, а серверов несколько. Решение - файл ~/.ssh/config на своём компьютере. В нём задают короткие имена-алиасы для серверов.
Пример содержимого файла ~/.ssh/config:
Host myserver
HostName 203.0.113.10
User deploy
Port 22
После этого вместо длинной команды достаточно набрать короткое имя:
ssh myserver
Host - это короткое имя, которое придумываешь сам. HostName - реальный адрес сервера, User - пользователь, Port - порт (по умолчанию 22). Серверов в файле может быть сколько угодно - каждый своим блоком Host.
SSH-агент
SSH-агент - это программа, которая держит твой приватный ключ в памяти, пока компьютер включён. Если ты задал пароль на сам ключ (на шаге создания), агент запоминает его один раз за сессию, и дальше каждое подключение не переспрашивает. Удобно: безопасность пароля на ключе остаётся, а вводить его постоянно не нужно.
Закрыть сервер по-настоящему
Логика простая: пока вход по паролю включён, боты могут его перебирать, даже если ты сам ходишь по ключу. Поэтому после того как ключ заработал, вход по паролю отключают - и единственным способом зайти остаётся твой приватный ключ.
Передача файлов
По SSH можно не только заходить на сервер, но и копировать файлы туда-обратно. Самый простой способ - команда scp (она использует то же подключение и те же ключи).
Скопировать файл со своего компьютера на сервер:
scp file.txt user@IP:/home/user/
Скопировать файл с сервера к себе:
scp user@IP:/home/user/file.txt .
Для более удобной работы с файлами по тому же протоколу есть SFTP - его поддерживают многие файловые менеджеры.