Насколько безопасно подключаться к серверу по SSH из отелей во время путешествия?
Сервер:
- CentOS 7
- Авторизация только по ключу RSA - авторизация пароля запрещена
- Нестандартный порт
Рабочая станция:
- Ubuntu 14
- пользовательский пароль
- пароль для использования ключа RSA (стандартный метод)
Может быть, стоит оставить половина закрытого ключа RSA на USB-накопителе и автоматически (скриптом) добавить эту половину в ~ / .ssh / private_key перед подключением?
Интернет будет либо через WIFI в отелях, либо через кабель в съемной квартире.
UPD
Извините за непонятность поначалу. Я имею в виду безопасность в двух аспектах:
Итак, относительно создания ssh-соединения через явно ненадежное соединение.
Предполагая, что у вас уже есть запись ~ / .ssh / known_hosts из предыдущего подключения, да, вы должны иметь возможность подключаться, не беспокоясь о безопасности сети. То же самое происходит, если у вас есть другие средства проверки ключа хоста ssh.
Если вы никогда раньше не подключались к серверу и у вас не было другого способа проверить ключ хоста ssh, возможно, вам стоит быть более осторожными в отношении сети, которую вы используете для подключения.
Во второй части вашего вопроса вы, похоже, обеспокоены тем, что ваш ноутбук украдут, а вместе с ним и ваши личные ключи для входа в систему SSH без пароля на ваших серверах.
Обратите внимание, что эту проблему можно легко решить (проблема с закрытыми ключами), сохранив закрытые ключи, "зашифрованные" с помощью "ключевой фразы": они могут быть зашифрованы изначально, при генерации с помощью ssh-keygen утилита, указав парольную фразу в конце процесса генерации или, если они у вас уже есть незашифрованные, используя ssh-keygen утилита с -p
вариант. После того, как ключ будет зашифрован, при каждом входе в систему вас просят ввести соответствующую парольную фразу и .... если она верна, все будет продолжаться нормально.
Кроме того, если вы не хотите вводить кодовую фразу каждый раз при запуске клиента ssh, вы можете использовать ssh-агент: он может отслеживать в памяти незашифрованные закрытые ключи. Вы можете просто запустить ssh-add указывает на файл, содержащий зашифрованный ключ, и после запроса парольной фразы ключ добавляется в набор, управляемый ssh-agent. Впоследствии, каждый раз, когда клиенту SSH требуется ключ, защищенный парольной фразой, ssh-agent прозрачно предоставляет соответствующий незашифрованный закрытый ключ клиенту ssh. Так что вам не нужно вводить его в интерактивном режиме.
Обратите внимание, что ssh-agent может управлять множеством ключей, и, очевидно, вы можете «настроить» свой ноутбук / рабочий стол для запуска ssh-add
утилита (для заполнения набора ключей ssh-agent) во время входа в систему / запуска.
Кроме того, если кто-то украдет ваш ноутбук, ваши личные ключи, вероятно, не единственный «конфиденциальный» контент, который вы собираетесь выдавать: обратите внимание, что с сегодняшними настольными дистрибутивами Linux это ОЧЕНЬ легко настроить ноутбук, полагаясь на «зашифрованную» файловую систему ( /home
как стартер, но в целом /
если нужно). Так что, пожалуйста, примите это во внимание.
Все вышеперечисленное, очевидно, НЕ применить, если вы НЕ полагаться на ТВОЙ СОБСТВЕННЫЙ ноутбук.
P.S .: что касается вашей возможности хранить две половины незашифрованного закрытого ключа на разных носителях: I сильно советую вам не для этого, поскольку поддержание двух частей конфиденциального контента в незашифрованном виде намного, намного хуже, чем хранение двух полных копий всего контента в зашифрованном виде!
На первую часть вашего вопроса уже дан предыдущий ответ. Что касается вашей второй части, я бы порекомендовал добавить второй фактор в ваш логин ssh с помощью pam_google_authenticator. Его довольно легко установить и настроить на любом дистрибутиве. В случае кражи личного ключа, который вы носите с собой, они не смогут войти на ваш сервер без одноразового пароля TOTP от Google-Authenticator.
https://www.howtoforge.com/tutorial/secure-ssh-with-google-authenticator-on-centos-7