KirMol Wiki

Добро пожаловать в KirMol Wiki

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

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


linux:network:ssh

Это старая версия документа!


OpenSSH


О OpenSSH

OpenSSH (Open Secure Shell - Открытая безопасная оболочка) - Набор программ, предоставляющих шифрование сеансов связи по компьютерным сетям с использованием протокола SSH.

Установка OpenSSH

Устанавливаем OpenSSH:

sudo apt install openssh-client openssh-server openssh-sftp-server

Подключение по SSH

Подключиться к серверу:

ssh user@host
  • user - имя пользователя на удаленном сервере
  • host - IP-адрес или доменное имя удаленного сервера

Подключиться к серверу по нестандартному порту, используем опцию -p:

ssh -p 0000 user@host
Или
ssh user@host -p 0000

Копирование файлов и каталогов через SSH

С локального ПК на удалённый сервер

Скопировать файл:

scp файл.txt user@host:/путь/к/каталогу

Скопировать каталог, используем опцию -r:

scp -r каталог user@host:/путь/к/каталогу

Скопировать файл по нестандартному порту, используем опцию -P:

scp -P 0000 файл.txt user@host:/путь/к/каталогу

Скопировать каталог по нестандартному порту, используем опции -P -r:

scp -P 0000 -r каталог user@host:/путь/к/каталогу

С удалённого сервера на локальный ПК

Скопировать файл:

scp user@host:/путь/к/файлу.txt /локальный/каталог

Скопировать каталог, используем опцию -r:

scp -r user@host:/путь/к/каталогу /локальный/каталог

Скопировать файл по нестандартному порту, используем опцию -P:

scp -P 0000 user@host:/путь/к/файлу.txt /локальный/каталог

Скопировать каталог по нестандартному порту, используем опции -P -r:

scp -P 0000 -r user@host:/путь/к/каталогу /локальный/каталог

С одного сервера на другой

Скопировать файл:

scp user1@host:/путь/к/файлу.txt user2@host:/сервер2/каталог

Скопировать каталог, используем опцию -r:

scp -r user1@host:/путь/к/каталогу user2@host:/сервер2/каталог

Скопировать файл по нестандартному порту, используем опцию -P:

scp -P 0000 user1@host:/путь/к/файлу.txt user2@host:/сервер2/каталог

Скопировать каталог по нестандартному порту, используем опции -P -r:

scp -P 0000 -r user1@host:/путь/к/каталогу user2@host:/сервер2/каталог

Выполнение команд без входа в интерактивную сессию

Выполнить команду(ы):

ssh user@host "ls -lh"
ssh user@host "free -mh"

Настройка OpenSSH

Настраиваем конфиг sshd_config:

sudo nano /etc/ssh/sshd_config

Меняем стандартный порт на свой

Находим строку #Port 22:

Раскомментируем строку #Port 22. Где Port 22 меняем на свой.

Пример: Port 0000.

Обращаем внимание: Если включён Межсетевой экран, разрешите порт для подключения

sudo ufw allow 0000

Запрет входа по SSH для Root

Находим строку PermitRootLogin.

Раскомментируем строку PermitRootLogin yes (если она закомментирована)

Установим её значение с yes на no.

Сохраняем файл.

Перезагружаем SSH:

sudo systemctl restart sshd

Подключаемся:

ssh root@localhost -p 0000

Генерация SSH ключей

Создаём пару ключей (По умолчанию):

ssh-keygen

Создаём пару ключей RSA:

ssh-keygen -t rsa -b 4096

Опции ssh-keygen

  • -t - указывает тип шифрования, который будет использоваться при генерации ключей
  • -b - указывает длину ключа в битах

Передаём открытый SSH ключ на сервер:

Создаём каталог .ssh, если он не создан:

mkdir .ssh

Добавляем в файл authorized_keys открытый ключ:

nano .ssh/authorized_keys

Сохраняем файл.

Готово.

linux/network/ssh.1781612262.txt.gz · Последнее изменение: Кирилл М