OpenSSH (Open Secure Shell - Открытая безопасная оболочка) - Набор программ, предоставляющих шифрование сеансов связи по компьютерным сетям с использованием протокола SSH.
Устанавливаем OpenSSH:
sudo apt install openssh-client openssh-server openssh-sftp-server
Подключиться к серверу:
ssh user@host
Подключиться к серверу по нестандартному порту, используем опцию -p:
ssh -p 0000 user@host Или ssh user@host -p 0000
Скопировать файл:
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"
Настраиваем конфиг sshd_config:
sudo nano /etc/ssh/sshd_config
Находим строку #Port 22:
Раскомментируем строку #Port 22. Где Port 22 меняем на свой.
Пример: Port 0000.
Обращаем внимание: Если включён Межсетевой экран, разрешите порт для подключения
sudo ufw allow 0000
Найдите строку PermitRootLogin.
Раскомментируйте строку PermitRootLogin yes (если она закомментирована)
Измените её значение с yes на no.
Найдите строку MaxSessions.
Раскомментируйте строку MaxSessions 10 (если она закомментирована)
Измените её значение с 10 на значение, которое вам нужно. К примеру на 2.
Найдите строку MaxAuthTries.
Раскомментируйте строку MaxAuthTries 6 (если она закомментирована)
Измените её значение с 6 на значение, которое вам нужно. К примеру на 2.
Время, в течение которого пользователь должен успеть успешно авторизоваться на сервере.
Найдите строку LoginGraceTime.
Раскомментируйте строку LoginGraceTime 2m (если она закомментирована)
Измените её значение с 2m на значение, которое вам нужно. К примеру на 1m или 30s.
Если вы используйте SSH-ключи для авторизации, то вход по паролю можно отключить.
Найдите строку PasswordAuthentication.
Измените её значение с yes на no.
Сохраняем файл.
Перезагружаем SSH:
sudo systemctl restart sshd
Подключаемся:
ssh root@localhost -p 0000
Создаём пару ключей (По умолчанию):
ssh-keygen
Создаём пару ключей RSA:
ssh-keygen -t rsa -b 4096
Передаём открытый SSH ключ на сервер:
Создаём каталог .ssh, если он не создан:
mkdir .ssh
Добавляем в файл authorized_keys открытый ключ:
nano .ssh/authorized_keys
Сохраняем файл Ctrl+O
Выход из редактора Ctrl+X
Готово.