Работает ли 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.