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

Материал из K.Wiki
Перейти к: навигация, поиск
(Работа с ключами)
(Работа с идентификаторами и ключами)
 
(не показаны 3 промежуточные версии этого же участника)
Строка 1: Строка 1:
== Работа с ключами ==
+
== Работа с идентификаторами и ключами ==
 +
SSH-идентификатор представляет собой пару ключей: публичный и приватный.
 
По-умолчанию ключи хранятся в директории <tt>~/.ssh</tt> для [[Linux]].
 
По-умолчанию ключи хранятся в директории <tt>~/.ssh</tt> для [[Linux]].
Ключи разбиваются на пары, в каждой паре: публичный (<tt>.pub</tt>)и приватный (<tt>.key</tt> или без расширения).
+
Приватный ключ (файл <tt>{идентификатор}</tt>) предназначен для локального хранения,
 +
публичный ключ (файл <tt>{идентификатор}.pub</tt>) предназначен для передачи.
  
=== Как сгенерировать новую пару ключей? ===
+
=== Как создать новый идентификатор? ===
 
<ol>
 
<ol>
 
<li>
 
<li>
Выполнить команду, заменив <tt>{адрес email}</tt> своим адресом электронной почты:
+
Выполнить команду, заменив подходящим образом <tt>{путь к файлу приватного ключа}</tt> и <tt>{комментарий}</tt>:
<pre>ssh-keygen -t rsa -b 4096 -C "{адрес email}"</pre>
+
<pre>ssh-keygen -t rsa -b 4096 -f {путь к файлу приватного ключа} -C "{комментарий}"</pre>
 
</li>
 
</li>
<li>Ввести путь для файла приватного ключа.</li>
+
<li>Ввести пароль для доступа по идентификатору.</li>
<li>Ввести пароль для доступа по ключу.</li>
+
<li>Повторно ввести пароль.</li>
<li>Повторно ввести пароль для доступа по ключу.</li>
+
 
</ol>
 
</ol>
  
=== Как изменить пароль для доступа по ключу? ===
+
=== Как изменить пароль для доступа по идентификатору? ===
 
<ol>
 
<ol>
 
<li>
 
<li>
Выполнить команду:
+
Выполнить команду, заменив подходящим образом <tt>{путь к файлу приватного ключа}</tt>:
<pre>ssh-keygen -p</pre>
+
<pre>ssh-keygen -p -f {путь к файлу приватного ключа}</pre>
 
</li>
 
</li>
<li>Ввести путь к файлу приватного ключа.</li>
 
 
<li>Если был задан старый пароль, ввести его.</li>
 
<li>Если был задан старый пароль, ввести его.</li>
 
<li>Ввести новый пароль.</li>
 
<li>Ввести новый пароль.</li>
Строка 26: Строка 26:
 
</ol>
 
</ol>
  
=== Как сохранить пароль для доступа по ключу? ===
+
=== Как автоматизировать ввод пароля для доступа по идентификатору? ===
Для этого нужно добавить его в '''ssh-agent'''.
+
Для этого нужно добавить пароль в '''ssh-agent'''.
 
<ol>
 
<ol>
 
<li>
 
<li>
Строка 34: Строка 34:
 
</li>
 
</li>
 
<li>
 
<li>
Выполнить команду, заменив <tt>{файл приватного ключа}</tt> на путь к файлу приватного ключа:
+
Выполнить команду, заменив подходящим образом <tt>{путь к файлу приватного ключа}</tt>:
<pre>ssh-add {файл приватного ключа}</pre>
+
<pre>ssh-add {путь к файлу приватного ключа}</pre>
 
</li>
 
</li>
 
<li>Ввести пароль.</li>
 
<li>Ввести пароль.</li>
 
</ol>
 
</ol>
  
=== Как узнать, к каким ключам пароли сохранены? ===
+
=== Как узнать, к каким идентификаторам пароли сохранены? ===
 
  ssh-add -l
 
  ssh-add -l
  
 
=== Как передать публичный ключ на сервер? ===
 
=== Как передать публичный ключ на сервер? ===
Выполнить, заменив подходящими значениями <tt>{имя пользователя}</tt>, <tt>{адрес сервера}</tt> и <tt>{путь к файлу публичного ключа}</tt>:
+
Выполнить, заменив подходящими значениями <tt>{имя пользователя}</tt>, <tt>{адрес сервера}</tt> и <tt>{путь к файлу приватного ключа}</tt>:
  ssh-copy-id {имя пользователя}@{адрес сервера} -i {путь к файлу публичного ключа}
+
  ssh-copy-id {имя пользователя}@{адрес сервера} -i {путь к файлу приватного ключа}
 
Содержимое файла ключа допишется в файл <tt>~/.ssh/authorized_keys</tt> на сервере.
 
Содержимое файла ключа допишется в файл <tt>~/.ssh/authorized_keys</tt> на сервере.
 +
 +
=== Как удалить известный хост? ===
 +
ssh-keygen -f "/home/{имя пользователя}/.ssh/known_hosts" -R {адрес хоста}
  
 
== Работа с файлами ==
 
== Работа с файлами ==

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