SSH — различия между версиями

Материал из K.Wiki
Перейти к: навигация, поиск
(Новая страница: «=== Как передать файл на сервер? === scp {путь к файлу на клиенте} {имя_пользователя}@{адрес_серв…»)
 
(Работа с идентификаторами и ключами)
 
(не показано 8 промежуточных версии этого же участника)
Строка 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 {адрес хоста}
 +
 +
== Работа с файлами ==
 
=== Как передать файл на сервер? ===
 
=== Как передать файл на сервер? ===
  scp {путь к файлу на клиенте} {имя_пользователя}@{адрес_сервера}:{путь к директории на сервере}
+
  scp {путь к файлу на клиенте} {имя пользователя}@{адрес сервера}:{путь к директории на сервере}
 
=== Как скачать файл с сервера? ===
 
=== Как скачать файл с сервера? ===
  scp {имя_пользователя}@{адрес_сервера}:{путь к файлу на сервере} {путь к директории на клиенте}
+
  scp {имя пользователя}@{адрес сервера}:{путь к файлу на сервере} {путь к директории на клиенте}
 
+
  
 
[[Категория:База знаний]]
 
[[Категория:База знаний]]

Текущая версия на 00:27, 4 мая 2017

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

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 {имя пользователя}@{адрес сервера}:{путь к файлу на сервере} {путь к директории на клиенте}