SSH — различия между версиями
Материал из K.Wiki
Kirill (обсуждение | вклад) |
Kirill (обсуждение | вклад) (→Работа с идентификаторами и ключами) |
||
(не показано 7 промежуточных версии этого же участника) | |||
Строка 1: | Строка 1: | ||
+ | == Работа с идентификаторами и ключами == | ||
+ | SSH-идентификатор представляет собой пару ключей: публичный и приватный. | ||
+ | По-умолчанию ключи хранятся в директории <tt>~/.ssh</tt> для [[Linux]]. | ||
+ | Приватный ключ (файл <tt>{идентификатор}</tt>) предназначен для локального хранения, | ||
+ | публичный ключ (файл <tt>{идентификатор}.pub</tt>) предназначен для передачи. | ||
+ | |||
+ | === Как создать новый идентификатор? === | ||
+ | <ol> | ||
+ | <li> | ||
+ | Выполнить команду, заменив подходящим образом <tt>{путь к файлу приватного ключа}</tt> и <tt>{комментарий}</tt>: | ||
+ | <pre>ssh-keygen -t rsa -b 4096 -f {путь к файлу приватного ключа} -C "{комментарий}"</pre> | ||
+ | </li> | ||
+ | <li>Ввести пароль для доступа по идентификатору.</li> | ||
+ | <li>Повторно ввести пароль.</li> | ||
+ | </ol> | ||
+ | |||
+ | === Как изменить пароль для доступа по идентификатору? === | ||
+ | <ol> | ||
+ | <li> | ||
+ | Выполнить команду, заменив подходящим образом <tt>{путь к файлу приватного ключа}</tt>: | ||
+ | <pre>ssh-keygen -p -f {путь к файлу приватного ключа}</pre> | ||
+ | </li> | ||
+ | <li>Если был задан старый пароль, ввести его.</li> | ||
+ | <li>Ввести новый пароль.</li> | ||
+ | <li>Повторно ввести новый пароль.</li> | ||
+ | </ol> | ||
+ | |||
+ | === Как автоматизировать ввод пароля для доступа по идентификатору? === | ||
+ | Для этого нужно добавить пароль в '''ssh-agent'''. | ||
+ | <ol> | ||
+ | <li> | ||
+ | Убедиться, что '''ssh-agent''' запущен: | ||
+ | <pre>eval "$(ssh-agent -s)"</pre> | ||
+ | </li> | ||
+ | <li> | ||
+ | Выполнить команду, заменив подходящим образом <tt>{путь к файлу приватного ключа}</tt>: | ||
+ | <pre>ssh-add {путь к файлу приватного ключа}</pre> | ||
+ | </li> | ||
+ | <li>Ввести пароль.</li> | ||
+ | </ol> | ||
+ | |||
+ | === Как узнать, к каким идентификаторам пароли сохранены? === | ||
+ | ssh-add -l | ||
+ | |||
+ | === Как передать публичный ключ на сервер? === | ||
+ | Выполнить, заменив подходящими значениями <tt>{имя пользователя}</tt>, <tt>{адрес сервера}</tt> и <tt>{путь к файлу приватного ключа}</tt>: | ||
+ | ssh-copy-id {имя пользователя}@{адрес сервера} -i {путь к файлу приватного ключа} | ||
+ | Содержимое файла ключа допишется в файл <tt>~/.ssh/authorized_keys</tt> на сервере. | ||
+ | |||
+ | === Как удалить известный хост? === | ||
+ | ssh-keygen -f "/home/{имя пользователя}/.ssh/known_hosts" -R {адрес хоста} | ||
+ | |||
== Работа с файлами == | == Работа с файлами == | ||
=== Как передать файл на сервер? === | === Как передать файл на сервер? === | ||
Строка 4: | Строка 56: | ||
=== Как скачать файл с сервера? === | === Как скачать файл с сервера? === | ||
scp {имя пользователя}@{адрес сервера}:{путь к файлу на сервере} {путь к директории на клиенте} | scp {имя пользователя}@{адрес сервера}:{путь к файлу на сервере} {путь к директории на клиенте} | ||
− | |||
[[Категория:База знаний]] | [[Категория:База знаний]] |
Текущая версия на 00:27, 4 мая 2017
Работа с идентификаторами и ключами[править]
SSH-идентификатор представляет собой пару ключей: публичный и приватный. По-умолчанию ключи хранятся в директории ~/.ssh для Linux. Приватный ключ (файл {идентификатор}) предназначен для локального хранения, публичный ключ (файл {идентификатор}.pub) предназначен для передачи.
Как создать новый идентификатор?[править]
-
Выполнить команду, заменив подходящим образом {путь к файлу приватного ключа} и {комментарий}:
ssh-keygen -t rsa -b 4096 -f {путь к файлу приватного ключа} -C "{комментарий}"
- Ввести пароль для доступа по идентификатору.
- Повторно ввести пароль.
Как изменить пароль для доступа по идентификатору?[править]
-
Выполнить команду, заменив подходящим образом {путь к файлу приватного ключа}:
ssh-keygen -p -f {путь к файлу приватного ключа}
- Если был задан старый пароль, ввести его.
- Ввести новый пароль.
- Повторно ввести новый пароль.
Как автоматизировать ввод пароля для доступа по идентификатору?[править]
Для этого нужно добавить пароль в ssh-agent.
-
Убедиться, что ssh-agent запущен:
eval "$(ssh-agent -s)"
-
Выполнить команду, заменив подходящим образом {путь к файлу приватного ключа}:
ssh-add {путь к файлу приватного ключа}
- Ввести пароль.
Как узнать, к каким идентификаторам пароли сохранены?[править]
ssh-add -l
Как передать публичный ключ на сервер?[править]
Выполнить, заменив подходящими значениями {имя пользователя}, {адрес сервера} и {путь к файлу приватного ключа}:
ssh-copy-id {имя пользователя}@{адрес сервера} -i {путь к файлу приватного ключа}
Содержимое файла ключа допишется в файл ~/.ssh/authorized_keys на сервере.
Как удалить известный хост?[править]
ssh-keygen -f "/home/{имя пользователя}/.ssh/known_hosts" -R {адрес хоста}
Работа с файлами[править]
Как передать файл на сервер?[править]
scp {путь к файлу на клиенте} {имя пользователя}@{адрес сервера}:{путь к директории на сервере}
Как скачать файл с сервера?[править]
scp {имя пользователя}@{адрес сервера}:{путь к файлу на сервере} {путь к директории на клиенте}