Архив метки: ssh

Правильная настройка SSH на Ubuntu Server

Сегодня в статье поговорим о правильной настройке SSH на Ubuntu Server 18.04 LTS.




Практически сразу после запуска сервера на порту 22 наблюдается бурная активность ботов-брутфорсчиков. Для того чтобы защититься от их атак и снизить нагрузку на сервер первым делом устанавливаем и настраиваем Fail2Ban для SSH.




Далее переходим к настройке конфигурационного файла ssh




Настройка sshd_config




Открываем в терминале конфигурационный файл SSH




sudo nano /etc/ssh/sshd_config




Первое что нужно сделать, так это сменить порт ssh с 22 на любой другой. Ищем строку Port 22 и заменяем её например на Port 2222




Port 2222




Порты 21, 22, 80, 139, 443, 1194, 3306, 8080 — советую не использовать.




Второе – ограничим тип адресов для подключения (IPv6 либо IPv4). Если у вас на сервере не используется IPv6, то дописываем в файл:




AddressFamily inet




Третье – запретим root авторизацию




PermitRootLogin no




Четвертое – разрешаем подключение только под определенным логином:




AllowUsers user




где список пользователей пишется через пробел.




Пятое – запрещаем попытку входа с пустым паролем:




PermitEmptyPasswords no




Шестое – настраиваем вход по ключу.




PubkeyAuthentication yes




Далее на машине с который будете подключаться к серверу набираем следующие команды:




ssh-keygen 




Будет предложено указать место размещения пары ключей, парольная фраза на них и их название. Можете оставить все как есть просто нажимая Enter.




Далее копируем наш публичный ключ на сервер:




ssh-copy-id ваш_user@IP_сервера.ru




Проверьте, что можете зайти на сервер по ключу, без ввода пароля!!!




ssh ваш_user@IP_сервера.ru




Седьмое – запрещаем вход по паролю




PasswordAuthentication no




Не забываем до выполнения этого пункта настроить вход по ключу, иначе можете остаться без сервера!!!




Восьмое – сохраняем правки и перезапускаем ssh демон:




sudo /etc/init.d/ssh restart




Соединение по SSH с сервером




Теперь можем перезайти с новыми параметрами на ваш сервер. В терминале набираем:




ssh -p 2222 user@sshserver




На всякий случай посмотрим открытые порты:




netstat -tupln | grep LISTEN




Вы должны увидеть порт 2222




В случае ошибок полезно бывает смотреть лог /var/log/secure либо использовать опции -v, -vv или -vvv для вывода детального лога соединения:




ssh -vvv user@sshserver



[endtxt]




RSS



Добавление RSS-ленты на главную страницу этого сайта не поддерживается, так как это может привести к зацикливанию, замедляющему работу вашего сайта. Попробуйте использовать другой блок, например блок Последние записи, для отображения записей сайта.


2019-09-15T21:49:19
SSH

Копирование файлов по ssh. Команда scp

Сегодня в статье мы рассмотрим пример как можно копировать файлы или даже целые директории через протокол SSH.




SSH — сетевой протокол, позволяющий производить удалённое управление операционной системой, а также туннелирование TCP-трафика (например, для передачи файлов). Данный протокол зашифровывает весь трафик, включая и передаваемые пароли. SSH-клиенты и SSH-серверы доступны для большинства сетевых операционных систем.




Для копирования файлов по ssh между компьютерами под управлением Linux применяется команда scp.




Команда scp




Рассмотрим, как можно копировать файлы с одного компьютера на другой по ssh, используя команду scp.




Синтаксис команды scp следующий:




scp [опции] что_копируем куда_вставляем




Аргумент что_копируем и куда_вставляем могут быть, как локальными путями, так и удаленными. То есть можно копировать файлы с удаленного компьютера на локальный и наоборот или же копировать файлы с удаленного компьютера на другой удаленный компьютер.




Копирование файлов




Копирование локального файла на удаленный компьютер




Скопируем локальный файл file.txt на удалённый компьютер в директорию пользователя user.




scp file.txt user@192.168.0.2:/home/user




  • user – это имя пользователя на удалённом ПК.



  • 192.168.0.2 – IP адрес удаленного ПК



  • /home/user – директория пользователя.




Давайте выполним копирование, но уже с указанием порта для ssh.




scp -P 2222 file.txt user@192.168.0.2:/home/user




Копирование файла с удаленного компьютера на локальный




Скопируем файл с удаленного компьютера в нашу текущую директорию.




scp user@192.168.0.2:/home/user/file.txt .




Копирование директории




Скопируем с нашего локального компьютера директорию ~/files на удаленный компьютер в директорию /home/user.




scp -r ~/files user@192.168.0.2:/home/user




Копирование со сжатием данных




Скорость копирования файлов можно увеличить. Сжатие выполняется только при передаче данных, то есть результирующий файл будет в первоначальном виде.




scp -C file.txt user@192.168.0.2:/home/user




Сохранение атрибутов файла




Чтобы результирующий файл получил те же атрибуты что и исходный файл, используется опция -p (не путать с опцией -P для указания порта). При использовании опции -p сохраняются права доступа к файлу, владелец файла, временные метки и так далее.




scp -p file.txt user@192.168.0.2:/home/user




Для получения полной справки по команде scp выполните в терминале:




man scp



[endtxt]



2019-07-04T07:00:52
SSH

Сам себе прокси-сервер

Бывает так, что мессенджер Телеграмм или сайты «В контакте» и facebook.com заблокированы на работе или даже в стране. Чтобы блокировку обойти, можно воспользоваться прокси-сервером. Способ фантастически прост, не потребуется даже установка каких-либо программ. Всё, что нам нужно — удалённая машина, у которой интересующей нас блокировки нет. Поведал мне об этом hombit. Читать

Программирование работы с SSH при помощи Paramiko (Перевод)

OpenSSH — это вездесущий метод удалённого безопасного доступа к машине и передачи файлов. Многие — системные администраторы, инженеры автоматизации тестов, веб-разработчики и другие люди используют этот методы ежедневно. Написание скриптов для ssh на Python может быть тяжёлым занятием, но модуль Paramiko позволяет решить эту задачу проще.
Это репринт статьи, написанной для Python Mag­a­zine в колонку Com­pletely Dif­fer­ent и опубликованной в октябрьском выпуске 2008 года. Тут она приводится в оригинальной форме, со всеми ошибками и т.д.

Читать

Поднятие FTP-сервера в Debian для бытовых нужд.

Предисловие.

У меня сложилась следующая ситуация. Купил себе ноутбук, включил его в домашнюю сеть, до этого состоявшую из роутера и десктопа. И сразу захотелось получить возможность качать на него фильмы, программы и т.д. из локальной сети провайдера, а именно из местного p2p. Но там для того, чтобы что-то скачать, сперва надо что-то выложить самому. Как говорится, чтобы купить что-нибудь ненужное, сперва надо продать что-нибудь ненужное. Качать же что-то из других источников было лень. Поэтому решено было слить немножко шары с десктопа под управлением Linux Debian, за которым, кстати, в этот момент сидела моя девушка (вот, кстати, ее блог). При этом мешать ей было крайне нежелательно. Читать