SSH

Материал из K.Wiki
Перейти к: навигация, поиск

Работа с идентификаторами и ключами[править]

SSH-идентификатор представляет собой пару ключей: публичный и приватный. По-умолчанию ключи хранятся в директории ~/.ssh для Linux. Приватный ключ (файл {идентификатор}) предназначен для локального хранения, публичный ключ (файл {идентификатор}.pub) предназначен для передачи.

Как создать новый идентификатор?[править]

  1. Выполнить команду, заменив подходящим образом {путь к файлу приватного ключа} и {комментарий}:
    ssh-keygen -t rsa -b 4096 -f {путь к файлу приватного ключа} -C "{комментарий}"
  2. Ввести пароль для доступа по идентификатору.
  3. Повторно ввести пароль.

Как изменить пароль для доступа по идентификатору?[править]

  1. Выполнить команду, заменив подходящим образом {путь к файлу приватного ключа}:
    ssh-keygen -p -f {путь к файлу приватного ключа}
  2. Если был задан старый пароль, ввести его.
  3. Ввести новый пароль.
  4. Повторно ввести новый пароль.

Как автоматизировать ввод пароля для доступа по идентификатору?[править]

Для этого нужно добавить пароль в ssh-agent.

  1. Убедиться, что ssh-agent запущен:
    eval "$(ssh-agent -s)"
  2. Выполнить команду, заменив подходящим образом {путь к файлу приватного ключа}:
    ssh-add {путь к файлу приватного ключа}
  3. Ввести пароль.

Как узнать, к каким идентификаторам пароли сохранены?[править]

ssh-add -l

Как передать публичный ключ на сервер?[править]

Выполнить, заменив подходящими значениями {имя пользователя}, {адрес сервера} и {путь к файлу приватного ключа}:

ssh-copy-id {имя пользователя}@{адрес сервера} -i {путь к файлу приватного ключа}

Содержимое файла ключа допишется в файл ~/.ssh/authorized_keys на сервере.

Как удалить известный хост?[править]

ssh-keygen -f "/home/{имя пользователя}/.ssh/known_hosts" -R {адрес хоста}

Работа с файлами[править]

Как передать файл на сервер?[править]

scp {путь к файлу на клиенте} {имя пользователя}@{адрес сервера}:{путь к директории на сервере}

Как скачать файл с сервера?[править]

scp {имя пользователя}@{адрес сервера}:{путь к файлу на сервере} {путь к директории на клиенте}