Я создал пользователя, вызванного в мой экземпляр, и дал ему разрешение sudo, а также отключил grader
пароль ./etc/ssh/sshd_config
Я сгенерировал пару ключей на локальной машине и добавил открытый ключ к экземпляру. Когда я пытаюсь получить доступ к экземпляру с помощью пользователя DEFAULT, предоставленного Amazon AWS, и моих сгенерированных ключей, это работает
ssh -i "udacityLinux" [email protected]
но когда я пытаюсь сделать то же самое с помощью grader
пользователя, я получаю эту ошибку:
ssh -i "udacityLinux" [email protected]
[email protected]: Permission denied (publickey).
Как мне это исправить, чтобы иметь возможность войти в систему, используя свое grader
имя пользователя?
решение1
Похоже, у вас возникло недопонимание относительно открытого ключа, который вы загружаете на сервер.
Этот ключ должен храниться в файле ~/.ssh/authorized_keys
для каждого пользователя, который должен идентифицироваться этим ключом.
Этот путь ~/.ssh/authorized_keys
эквивалентен вашему текущему пользовательскому каталогу. Если вы вошли в систему как grader
пользователь, этот путь будет указывать на:
/home/grader/.ssh/authorized_keys
Если вы вошли в систему как ubuntu
пользователь, этот путь будет указывать на:
/home/ubuntu/.ssh/authorized_keys
Итак, на данный момент вы можете скопировать файл ключа с помощью:
sudo cp /home/ubuntu/.ssh/authorized_keys /home/grader/.ssh/
Затем установите правильного владельца и разрешения:
sudo chown grader:grader /home/grader/.ssh/authorized_keys
sudo chmod 0600 /home/grader/.ssh/authorized_keys
Имейте в виду, что теперь вы принимаете все ключи, которые вы могли включить для ubuntu
пользователя grader
.