Подключение по логину и паролю
Чтобы войти на сервер, нужно знать адрес сервера, имя пользователя и пароль. Адрес сервера указывается по IP-адресу или по доменному имени. Команда для подключения вводится в формате ssh username@server_address:
Скопировать кодBASH
ssh admin@84.201.161.196
# admin: имя пользователя, под которым будет выполнено подключение к серверу
# 84.201.161.196: ip-адрес сервера
Если переданное с запросом имя пользователя на сервере не зарегистрировано — сервер вернёт ошибку, а если пользователь найден — система запросит пароль. При вводе пароля в командной строке не отображаются ни символы, ни звёздочки — вообще ничего, это нормально.
Подключение по ssh-ключу
Для большей безопасности при подключении по SSH вместо логина и пароля применяют пары криптографических ключей.
Пара ключей — это открытый (public, публичный) и закрытый (private, приватный) ключи. Пользователь создаёт ключи специальной командой в консоли, открытый ключ сохраняет на сервере, а закрытый ключ — на своём компьютере. При соединении с сервером проверяется соответствие этих ключей друг другу, и если проверка пройдена успешно — пользователю разрешается доступ на сервер.
Аутентификация по ключу — это более защищенный метод, чем по логину и паролю: вы никогда и никому не продиктуете ключи и не запишете их на бумажку; закрытая часть (private key) никогда не передаётся в открытом виде, и, дополнительно, закрытый ключ можно защитить паролем: при соединении клиент запросит этот пароль перед тем, как сравнить ключи.
Но сначала ключи нужно сгенерировать. Прямо сейчас.
Как сгенерировать ключ
Запустите Git Bash (на Windows) или Терминал (на Linux/MacOS). Выполните команду ssh-keygen.
Консоль попросит ввести путь к файлу, в который будут сохранены сгенерированные ключи. Cохраните ключи в папку по умолчанию: для этого просто нажмите Enter (Return на Mac).
В уроках мы исходим из того, что ключи сохранены именно в дефолтной директории. В ином случае при подключении возникнет ошибка.
При создании ключей система попросит придумать пароль для доступа к ключам. Обязательно создайте пароль и запомните его — это дополнительная мера безопасности на тот случай, если ваш приватный ключ (например, вместе с компьютером) попадёт не в те руки.
Как отправить публичный ключ на сервер
Закрытый ключ сохранён в файле id_rsa, а открытый ключ — в файле id_rsa.pub. Берегите закрытый ключ и пароль к ключам, от их сохранности зависит безопасность подключения к вашим серверам.
Теперь нужно поместить открытый ключ на сервер. Выведите его в консоль командой cat адрес_публичного_ключа. Для Linux/MacOS путь_к_публичному_ключу — это ~/.ssh/id_rsa.pub, для Windows — /c/Users/USERNAME/.ssh/id_rsa.pub, этот путь есть у вас в консоли.
Обычно для сохранения ключа на сервере применяют команду ssh-copy-id, но добавить ключ на сервер может лишь пользователь, у которого есть туда доступ.
Скопировать кодBASH
ssh-copy-id -i путь_к_публичному_ключу username@your_server
# например: ssh-copy-id ~/.ssh/id_rsa.pub admin@84.201.161.196