Инструменты пользователя

Инструменты сайта


linux:open_ssh

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
linux:open_ssh [2022/08/07 04:06]
admin
linux:open_ssh [2025/01/28 06:54] (текущий)
admin
Строка 1: Строка 1:
 ====== Open SSH ====== ====== Open SSH ======
  
-Для шифрования, в основном, используется алгоритм **RSA**.\\+Для шифрования, в основном, используется алгоритм **RSA** (устар).\\
 Две версии, **openssh-client** и **openssh-server**.\\ Две версии, **openssh-client** и **openssh-server**.\\
  
  
 ===== Беспарольный доступ ===== ===== Беспарольный доступ =====
-Для организации беспарольного доступа нужно сгенерировать **открытый** и **закрытый** ключи, с помощью утилиты **ssh-keygen**, генерируются на **клиентской машине** (что бы закрытый ключ не передавать).\\ +Ключи генерируются на хосте **с которого нужен беспарольный** доступ, затем открытый ключ копируется **туда куда нужен** беспарольный доступ\\ 
-При генерации нужно указать название ключевой пары, можно добавить парольную фразу (нужно будет вводить ее при каждом подключении).\\ + 
-После генерации все находится в **~/.ssh/**, файл с названием ключевой пары и расширением **.pub** и есть открытый ключ, его нужно скопировать на сервер, в файл **/home/учетка_для_входа/.ssh/authorized_keys**.\\+Генерируем ключи (pub/priv), утилитой **ssh-keygen**Оба файла находятся в **~/.ssh/**, содержимое файла **.pub** нужно скопировать на сервер к которому будем подключаться, в **/home/<учетка_для_входа>/.ssh/authorized_keys**.\\
  
 Есть несколько алгоритмов, "**rsa**" популярный но устаревающий, в данном примере "**ecdsa**" с длинной ключа **521** Есть несколько алгоритмов, "**rsa**" популярный но устаревающий, в данном примере "**ecdsa**" с длинной ключа **521**
Строка 15: Строка 15:
  
  
-===== Копирование файла =====+==== Копирование файла ====
 Для копирования открытого ключа есть специальная утилита **ssh-copy-id**, она сама скопирует нужный файл в нужное место Для копирования открытого ключа есть специальная утилита **ssh-copy-id**, она сама скопирует нужный файл в нужное место
 <code bash>$ ssh-copy-id -i ~/.ssh/id_ecdsa user@host </code> <code bash>$ ssh-copy-id -i ~/.ssh/id_ecdsa user@host </code>
Строка 24: Строка 24:
 Если имеется несколько ключей для разных подключений, нужно указывать полный путь к файлу ключа, после аргумента **-i**.\\ Если имеется несколько ключей для разных подключений, нужно указывать полный путь к файлу ключа, после аргумента **-i**.\\
 <code bash>$ ssh -i .ssh/mykey</code> <code bash>$ ssh -i .ssh/mykey</code>
 +
 +
 +===== Передача файлов по сети (scp) =====
 +
 +Передать файл по ssh можно либо перенаправив вывод:
 +<code bash># cat ./file.txt ssh user@host "cat >> ./file.txt"</code>
 +
 +Копирование **с удаленной машины**, команда **scp** (порядок файлов мб наоборот)
 +<code bash># scp [-P 22] user@host:source_file desc_file </code>
 +
 +Копирование **на удаленную машину**, команда **scp**
 +<code bash># scp [-P 22] source_file user@host:desc_file </code>
 +
 +
 +<details>
 +<summary>:!: KeepAlived</summary>
 +[[https://unix.stackexchange.com/questions/602518/ssh-connection-client-loop-send-disconnect-broken-pipe-or-connection-reset]]\\
 +
 +На клиенте: ~/.ssh/config
 +<code bash>
 +Host *
 +    ServerAliveInterval 20
 +    TCPKeepAlive no
 +</code>
 +</details>
 +
 +
 +
 +
 +===== Права на выполнение команды/скрипта =====
 +
 +
 +<code bash>
 +# Команда обязательно должна быть такой при выполнении, с путем
 +# Так же можем указать привилегии конкретного пользователя
 +my_user  ALL=(root)  NOPASSWD: /opt/my_script.sh
 +
 +# Можно указать хеш сумму
 +my_user  ALL=(root)  NOPASSWD: sha256:<> /opt/my_script.sh
 +
 +# Для группы
 +%my_group  ALL=(ALL)  NOPASSWD: /usr/sbin/service
 +</code>
 +
  
  
linux/open_ssh.1659845199.txt.gz · Последнее изменение: 2022/08/07 04:06 — admin