Назад | Перейти на главную страницу

ssh-keygen работает только для root?

Работает ли ssh-keygen -t rsa, если он установлен только для пользователя root

то есть, если имя пользователя в локальной системе - это натрий, и я генерирую ключ, используя указанную выше команду, а в удаленной системе, если я помещаю ключ в /root/.ssh authorized_keys, это работает.

Но в удаленной системе, если ключ помещен в /home/natrium/.ssh authorized_keys

При этом по-прежнему запрашивается пароль. Это ожидаемое поведение или что-то не так в описанной выше процедуре

Спасибо..

Проверьте разрешения в удаленной системе:

$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/authorized_keys

Существует инструмент, который можно установить в вашем дистрибутиве (он есть в ubuntu / debian), который называется: ssh-copy-id который сделает это за вас:

$ ssh-copy-id <remote>

Если это не сработает, попробуйте ssh с опцией «-v», чтобы увидеть более подробные сообщения.

Длинная версия:

#From client to server
client$ scp ~/.ssh/id_rsa.pub remote_server.org:

# next, setup the public key on server
server$ mkdir ~/.ssh
server$ chmod 700 ~/.ssh
server$ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
server$ chmod 600 ~/.ssh/authorized_keys
server$ rm ~/id_rsa.pub

Проверяйте разрешения от ~ натрия / .ssh / authorized_keys до /. Если любой из них является доступным для записи всем, ssh-ключи не будут считаться доверенными.

Запустите ssh-keygen от имени пользователя, для которого вам нужен ключ. Он должен быть запущен в системе, к которой вы будете подключаться.

ssh-copy-id скопирует идентификаторы с целевой машины на машину, на которой вы хотите использовать ключ.

Попробуй это:

ssh -v natrium@server.com

Возможно, вы пытаетесь войти в систему remote4 как sodium, но вы установили ключ для natrium.

Не имеет значения, где вы создаете ключи, а где вы их храните.

Если вы хотите использовать SSH с одного компьютера на другой, то закрытый ключ должен находиться в папке .ssh учетной записи, из которой вы используете SSH-соединение как id_rsa, а открытый ключ должен находиться в файле .ssh / authorized_keys учетной записи, которую вы используете. SSHing к. Ключи предназначены для пользователей, а не для машин. Таким образом, учетные записи, в которые вы их устанавливаете, имеют очень большое значение.

Еще нужно иметь в виду версию SSH, которую вы используете, насколько я понимаю, для SSH2 ключи должны быть в .ssh / authorized_keys2.

Наконец, чтобы действительно увидеть, что происходит, лучше всего следовать инструкциям Lexsys и использовать ssh в подробном режиме с флагом -v.