В последнее время многие люди спрашивали меня о SSH-соединениях и о том, как их можно лучше защитить, и я был шокирован огромным количеством людей, которые до сих пор используют интерактивную аутентификацию по паролю с клавиатуры для входа в демоны SSH. В этой статье объясняется использование ключей SSH и опций OpenSSH для ускорения и защиты вашего SSH-соединения.
Опции SSH
Есть несколько полезных опций, которые вы можете передать в OpenSSH, чтобы увеличить детализацию, сжать и ускорить соединение ssh, а также изменить шифр SSH на что-то более быстрое и безопасное;
Переключатель '-v'. Эта опция позволит вам увидеть выходные данные отладки для исходящих SSH-соединений. Указание «-v» несколько раз увеличивает уровень детализации (максимальный уровень 3).
Переключатель «-C». Эта опция сжимает все ваши данные SSH. Передача этой опции в OpenSSH может значительно ускорить работу в медленных сетях, но в высокоскоростных сетях она только замедлит работу.
Переключатель '-c'. Эта опция позволит вам изменить метод шифрования. По умолчанию используется 3des, метод трехстороннего шифрования, который считается безопасным. Однако также доступен Blowfish, быстрый блочный шифр, который также считается очень безопасным и работает намного быстрее, чем 3des.
Например, предположим, что я хочу войти в систему как пользователь «foo» в демоне ssh на хосте «example.com». Мне нужен максимальный уровень детализации, я хочу сжать все свои данные и хочу изменить свой шифр SSH на Blowfish. Команда будет выглядеть так:
ssh -vvv -C -c Blowfish -l foo example.com
Примечание: чем выше ваш уровень детализации, тем больше текста вы получите на свой терминал, пока OpenSSH выполняет процесс входа в удаленный демон SSH. Даже указание только одного -v может дать вам настоящий поток информации. Поиграйтесь с -v, пока не найдете уровень отладки, который вам удобен.)
SSH-ключи
OpenSSH поддерживает метод аутентификации, гораздо более безопасный, чем аутентификация по паролю с помощью клавиатуры, используя комбинацию шифрования с открытым/закрытым ключом. Генерируется пара ключей: один на удаленном компьютере для вашей аутентификации и входа. Другой — это закрытый ключ, соответствующий ключу на удаленном компьютере.
Чтобы сгенерировать пару криптографических ключей, вам следует использовать утилиту ssh-keygen(1) как на машине, на которой вы собираетесь войти, так и на машине, с которой вы собираетесь войти. Например;
ssh-keygen -t rsa
Опция -t указывает тип генерируемого ключа. Доступные варианты: dsa и rsa.
Ввод этой команды на любом из ваших компьютеров UNIX должен дать вам такой результат:
ssh-keygen -t rsa
Генерация пары открытых/закрытых ключей RSA.
Введите файл, в котором следует сохранить ключ (/home/example/.ssh/id_rsa):
Введите парольную фразу (пусто, если парольная фраза отсутствует):
Введите ту же парольную фразу еще раз:
Ваши идентификационные данные сохранены в файле /home/example/.ssh/id_rsa.
Ваш открытый ключ сохранен в /home/example/.ssh/id_rsa.pub.
Для обеспечения максимальной безопасности настоятельно рекомендуется установить парольную фразу. Хорошие парольные фразы имеют длину от 10 до 30 символов, и их нелегко угадать. Если вы не введете парольную фразу, вы сможете войти в удаленную систему без ввода пароля при входе в систему.
Следующим шагом будет авторизация ваших ключей на удаленном компьютере, на котором вы собираетесь войти. Вы можете сделать это, используя файл с именем авторизованные_ключи на вашем целевом компьютере. Скопируйте файл ~/.ssh/id_rsa.pub на удаленный компьютер с помощью scp(1).
scp ~/.ssh/id_rsa.pub example.com:.ssh/authorized_keys
Теперь войдите на целевую машину, используя ssh(1) с уровнем отладки 1.
как было показано ранее;
ssh -v -C -c Blowfish -l foo example.com
Вы увидите такие сообщения отладки;
debug1: Аутентификация, которую можно продолжать: открытый ключ, интерактивная клавиатура
debug1: Следующий метод аутентификации: открытый ключ
debug1: Предлагает открытый ключ: /home/example/.ssh/id_rsa
debug1: Сервер принимает ключ: pkalg ssh-dss blen 435
debug1: чтение закрытого ключа PEM выполнено: введите rsa
Затем вам будет предложено ввести ключевую фразу-пароль (если вы ее ввели), а затем войти в систему. Если вы не ввели парольную фразу при создании открытого/закрытого ключей, вас пропустят без необходимости ввода. Если вы столкнулись с ошибками, вам следует проверить разрешения ваших каталогов ~/.ssh на обоих компьютерах.
Если вы хотите изменить ключевую фразу-пароль в любое время, вы можете сделать это, передав флаг -p утилите ssh-keygen;
ssh-keygen -p
SSH (Secure Shell) — это приложение, которое обеспечивает безопасный удаленный вход в систему через сетевое соединение. Первоначально он был разработан Стивом Белловином и Винодхалли Сомаяджи в 1995 году для решения проблем с Telnet, который в то время широко использовался в клиентском сообществе. Они хотели разработать еще более безопасный и простой интерфейс командной строки, чтобы облегчить доступ к системам, которые не входили в авторитетный домен.
В течение следующих 8 лет популярность SSH росла, его подхватили некоторые из первых поставщиков облачных услуг, таких как Amazon EC2, Rackspace, а также некоторые поставщики облачных игр, такие как Xbox Game Pass (теперь Microsoft xCloud).
Проще говоря, SSH позволяет легко получить доступ к другой системе в сети с помощью текстовой консоли. Две учетные записи, связанные с «клиентом» и «сервером», работают в соответствующих системах. При первом подключении к системе по SSH устанавливается интерактивное соединение (по псевдотелетайпу). «Клиент» отправляет имя пользователя и зашифрованный пароль или идентификационный файл вместе со старым приглашением и получает новое приглашение. На SSH-сервере пользователь может войти в систему с помощью пароля в случае зашифрованного файла или ввести правильный пароль id-файла. После аутентификации, если у SSH есть на это разрешение, он запускает файлы среды сеанса. Они могут содержать программы, запускаемые последовательно после успешного входа в систему нескольких пользователей в сети.
-
Что Такое Vlan
19 Oct, 24 -
Ноутбуки
19 Oct, 24 -
Безопасное Пребывание В Сети
19 Oct, 24 -
Основы Сетевого Оборудования
19 Oct, 24 -
Самые Свирепые Микропроцессор?
19 Oct, 24