ssh

 

sftp сервер в chroot с ведением логов

Иногда возникает необходимость предоставить некоторому кругу лиц sftp доступ, но без возможности подключиться по ssh и ходить по основной файловой системе, читая файлы типа /etc/passwd, обычно доступные всем для чтения. В этом случае можно создать chroot-окружение для этих пользователей, изолировав их в отдельной "песочнице" и не давай выйти за ее пределы. Вот как это делается:

Создание chroot

Denyhosts - блокировка перебора паролей ssh

Denyhosts - весьма полезная утилита для пресечения попыток подобрать пароль к ssh.

Устанавливается без каких-либо проблем: emerge denyhosts в Gentoo, для других дистрибутивов пакеты также существуют и как правило находятся в основном репозитории.

Denyhosts работает следующим образом: он проверяет логи и добавляет в /etc/hosts.deny ip адреса, с которых наблюдается много попыток неудачного входа. Для того чтобы это работало, ssh должен быть собран с tcpwrappers (что всегда разумно и делается по умолчанию).

Выполнение команд на нескольких машинах (ssh)

Если вы являетесь администратором достаточно большого количества unix-машин, то наверняка вам приходилось сталкиваться с необходимостью выполнить пару команд на всех ваших машинах. Для упрощения этого есть несколько методов.

Первый - самый простой и примитивный. Он использует только bash, и не требует установки дополнительного софта.
Предположим, что у нас есть машины gmos-1, gmos-2, gmos-3 и т.д. и мы хотим выполнить emerge --info на них всех. Вот что мы можем сделать:

for i in `seq 10`; do ssh gmos-$i "emerge --info"; done

ssh через http proxy

Во многих учереждениях существует политика ограничения доступа к интернету. Часто доступ в интернет доступен только через http-прокси, причем на ограниченое множество портов (80, 443, 8080 и т.п.).

Однако наверное все http-прокси поддерживают https, а он (из-за шифрации ssl) реализуется с помощью метода CONNECT. Таким образом прокси разрешает через себя делать коннекты на порт 443 (а возможно и другие), чем можно воспользоваться.
Итак, заранее подготавливаем внешний ssh сервер, редактируя файл sshd_config (/etc/ssh/sshd_config):

В стандартном шаблоне определены следующие строки: