Отключить интерактивный SSH на уровне пользователя

Я подключаюсь к серверу, которым не управляю через SSH.

Я использую доступ с открытым ключом, и мне не нужно подключаться с помощью интерактивного пароля клавиатуры.

Я хотел бы отключить интерактивный доступ с клавиатуры к своему пользователю, чтобы другие пользователи не могли взломать его таким образом.

Поскольку я не контролирую сервер, есть ли способ настроить файл конфигурации моего пользователя для предотвращения интерактивного доступа с клавиатуры?

6
задан 8 December 2011 в 05:58

3 ответа

Если у вас нет абсолютно никакого контроля над сервером, я не вижу способа сделать это, так как вы не контролируете настройки сервера, где это должно быть.

Что вам нужно сделать, это добавить это в файл / etc / ssh / sshd_config:

PasswordAuthentication no

Теперь это фактически отключит аутентификацию по паролю для всех пользователей, что может быть нежелательно. Затем вы можете поместить эту директиву конфигурации в блок Match, чтобы она применялась только к вашему пользователю в том же файле конфигурации:

Match user yourusername
PasswordAuthentication no

Если бы вы могли заставить администратора сервера сделать это для Вы, это может быть путь.

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

Смотрите "man sshd_config" для более подробной информации. Кроме того, решение, которое я предлагаю, было предложено здесь .

0
ответ дан 8 December 2011 в 05:58

[Я полагаю, вы используете BASH в качестве оболочки для входа. Если нет, отрегулируйте соответствующим образом ...]

В ~/.ssh/authorized_keys добавьте описание команды к каждой строке следующим образом:

command="ssh_key=XXX /bin/bash -l" ssh-dss AAAA...K3E= me@mymachine

В ~/.bash-profile поместите следующую ловушку в top:

if [ "${ssh_key}" != "XXX" ]; then
  echo "${SSH_CLIENT}" | mailx -s "password login attempt!" me@mailservice
  exit
fi

Теперь вы будете получать почту только тогда, когда кто-то использует пароль для входа в вашу учетную запись.

0
ответ дан 8 December 2011 в 05:58

Вам просто нужно отредактировать эту строку из файла /etc/ssh/sshd_config из yes в no:

#ChallengeResponseAuthentication yes
ChallengeResponseAuthentication no
0
ответ дан 8 December 2011 в 05:58

Другие вопросы по тегам:

Похожие вопросы: