====== Open SSH ====== Для шифрования, в основном, используется алгоритм **RSA** (устар).\\ Две версии, **openssh-client** и **openssh-server**.\\ ===== Беспарольный доступ ===== Ключи генерируются на хосте **с которого нужен беспарольный** доступ, затем открытый ключ копируется **туда куда нужен** беспарольный доступ\\ Генерируем ключи (pub/priv), утилитой **ssh-keygen**. Оба файла находятся в **~/.ssh/**, содержимое файла **.pub** нужно скопировать на сервер к которому будем подключаться, в **/home/<учетка_для_входа>/.ssh/authorized_keys**.\\ Есть несколько алгоритмов, "**rsa**" популярный но устаревающий, в данном примере "**ecdsa**" с длинной ключа **521** # ssh-keygen -t ecdsa -b 521 [либо можно -t rsa -b 4096] ==== Копирование файла ==== Для копирования открытого ключа есть специальная утилита **ssh-copy-id**, она сама скопирует нужный файл в нужное место $ ssh-copy-id -i ~/.ssh/id_ecdsa user@host ==== Несколько ключей ==== Если имеется несколько ключей для разных подключений, нужно указывать полный путь к файлу ключа, после аргумента **-i**.\\ $ ssh -i .ssh/mykey ===== Передача файлов по сети (scp) ===== Передать файл по ssh можно либо перенаправив вывод: # cat ./file.txt ssh user@host "cat >> ./file.txt" Копирование **с удаленной машины**, команда **scp** (порядок файлов мб наоборот) # scp [-P 22] user@host:source_file desc_file Копирование **на удаленную машину**, команда **scp** # scp [-P 22] source_file user@host:desc_file