Я новичок в этом, поэтому, пожалуйста, немного потупите это для меня.
Я использую OSX локально, сервер Ubuntu для моего удаленного хоста на Linode. И, к моему пониманию, я могу локально использовать ssh-keygen -b 4096, чтобы сгенерировать два файла:
~/.ssh/id_rsa и ~/.ssh/id_rsa.pub
И затем на моем сервере я запустил mkdir -p ~/.ssh && sudo chmod -R 700 ~/.ssh/, чтобы создайте папку .ssh и дайте ей рекурсивные права на чтение / запись / выполнение для «владельца файла» (что бы это ни было, в соответствии с wiki).
Затем я вызываю
scp ~/.ssh/id_rsa.pub example_user@123.4.567.89:~/.ssh/authorized_keys
Я думаю, что использует ssh-протокол для загрузки открытого ключа на сервер в недавно созданном authorized_key файле в папке .ssh сервера, которую я только что создал.
] Таким образом, я предполагаю, что это означает, что общий файл находится на сервере, тогда как общедоступный и закрытый файл находится на моей локальной машине.
Теперь скажем, я редактирую файл /etc/ssh/sshd_config, где я могу возиться с PermitRootLogin, PasswordAuthentication и ChallengeResponseAuthentication.
Мои вопросы:
Должен ли я отключать регистрацию root? Должен ли я установить PermitRootLogin на no или without-password? Должен ли я отключать все пароли и использовать только ключи, период? Как насчет PasswordAuthentication и ChallengeResponseAuthentication? Безопасно ли иметь личные и публичные ключи на моей локальной машине? Должен ли я удалять публичный и удерживать только частный? Если я полагаюсь только на ключ, разве это не значит, что теперь я подвергаюсь новой слабости: кто-то входит в мою машину и, следовательно, получает доступ к моему ключевому файлу?«Наилучшая практика» с ssh или любым сервером в этом отношении заключается в следующем:
Оцените ценность вашего актива и данные на вашем сервере, где вы устанавливаете и настраиваете ssh. Это домашний компьютер за LAN? Или публичный IP-адрес на сервере с конфиденциальными данными, личной информацией, финансовой информацией? и т. д. Прочтите ВСЕ опции безопасности. Затем решите, как вы хотите сбалансировать безопасность с легкостью доступа, простотой настройки и стоимостью ваших активов.Для моих соображений по ssh см. - http://bodhizazen.com/Tutorials/SSH_security
«Наилучшая практика» с ssh или любым сервером в этом отношении заключается в следующем:
Оцените ценность вашего актива и данные на вашем сервере, где вы устанавливаете и настраиваете ssh. Это домашний компьютер за LAN? Или публичный IP-адрес на сервере с конфиденциальными данными, личной информацией, финансовой информацией? и т. д. Прочтите ВСЕ опции безопасности. Затем решите, как вы хотите сбалансировать безопасность с легкостью доступа, простотой настройки и стоимостью ваших активов.Для моих соображений по ssh см. - http://bodhizazen.com/Tutorials/SSH_security
«Наилучшая практика» с ssh или любым сервером в этом отношении заключается в следующем:
Оцените ценность вашего актива и данные на вашем сервере, где вы устанавливаете и настраиваете ssh. Это домашний компьютер за LAN? Или публичный IP-адрес на сервере с конфиденциальными данными, личной информацией, финансовой информацией? и т. д. Прочтите ВСЕ опции безопасности. Затем решите, как вы хотите сбалансировать безопасность с легкостью доступа, простотой настройки и стоимостью ваших активов.Для моих соображений по ssh см. - http://bodhizazen.com/Tutorials/SSH_security
Открытый ключ может быть получен из закрытого ключа (но не наоборот). Как получить открытый ключ из частного ключа SSH? Открытый ключ предоставляется просто в качестве удобства, поэтому вам не нужно генерировать его каждый раз, когда вам нужно добавить свой ключ на новый сервер.
Безопасно ли иметь частных и открытых ключей на моей локальной машине? Должен ли я удалять публичный и удерживать только личное?
Если я полагаюсь только на ключ, разве это не значит, что теперь я подвергаюсь новой слабости: кто-то попасть в мою машину и, следовательно, получить доступ к моему ключевому файлу?
Должен ли я отключать регистрацию root?Вот почему вы не слепо нажмите Enter при запуске ssh-keygen и вместо этого используйте строгий пароль (конечно, отличный от вашего пароля пользователя) для шифрования вашего ключа.
Должен ли я отключать вход в корневой каталог?
По умолчанию он отключен по умолчанию, поскольку по умолчанию разрешено только для входа на ключ и root не имеет authorized_keys по умолчанию.
[d14 ] Должен ли я отключать все пароли и использовать только ключи, период? Как насчет PasswordAuthentication и ChallengeResponseAuthentication?Должен ли я установить PermitRootLogin на no или without-password?
Открытый ключ может быть получен из закрытого ключа (но не наоборот). Как получить открытый ключ из частного ключа SSH? Открытый ключ предоставляется просто в качестве удобства, поэтому вам не нужно генерировать его каждый раз, когда вам нужно добавить свой ключ на новый сервер.
Безопасно ли иметь частных и открытых ключей на моей локальной машине? Должен ли я удалять публичный и удерживать только личное?
Если я полагаюсь только на ключ, разве это не значит, что теперь я подвергаюсь новой слабости: кто-то попасть в мою машину и, следовательно, получить доступ к моему ключевому файлу?
Должен ли я отключать регистрацию root?Вот почему вы не слепо нажмите Enter при запуске ssh-keygen и вместо этого используйте строгий пароль (конечно, отличный от вашего пароля пользователя) для шифрования вашего ключа.
Должен ли я отключать вход в корневой каталог?
По умолчанию он отключен по умолчанию, поскольку по умолчанию разрешено только для входа на ключ и root не имеет authorized_keys по умолчанию.
Должен ли я отключать все пароли и использовать только ключи, период? Как насчет PasswordAuthentication и ChallengeResponseAuthentication?Должен ли я установить PermitRootLogin на no или without-password?
Открытый ключ может быть получен из закрытого ключа (но не наоборот). Как получить открытый ключ из частного ключа SSH? Открытый ключ предоставляется просто в качестве удобства, поэтому вам не нужно генерировать его каждый раз, когда вам нужно добавить свой ключ на новый сервер.
Безопасно ли иметь частных и открытых ключей на моей локальной машине? Должен ли я удалять публичный и удерживать только личное?
Если я полагаюсь только на ключ, разве это не значит, что теперь я подвергаюсь новой слабости: кто-то попасть в мою машину и, следовательно, получить доступ к моему ключевому файлу?
Должен ли я отключать регистрацию root?Вот почему вы не слепо нажмите Enter при запуске ssh-keygen и вместо этого используйте строгий пароль (конечно, отличный от вашего пароля пользователя) для шифрования вашего ключа.
Должен ли я отключать вход в корневой каталог?
По умолчанию он отключен по умолчанию, поскольку по умолчанию разрешено только для входа на ключ и root не имеет authorized_keys по умолчанию.
Должен ли я отключать все пароли и использовать только ключи, период? Как насчет PasswordAuthentication и ChallengeResponseAuthentication?Должен ли я установить PermitRootLogin на no или without-password?