Как использовать ssh-copy-id на удаленном сервере?

У меня есть экземпляр ec2, который я могу подключить с помощью этой команды к имеющемуся у меня файлу ssh_key.pem.

      ssh -i ssh_key.pem ec2-user@54.174.85.61

Я пытаюсь использовать ssh-copy-id, чтобы добавить открытый ключ, который есть на моем локальном компьютере, в удаленный экземпляр ec2.

      ssh-copy-id -i .ssh/id_ed25519.pub ec2-user@54.174.85.61

выход:

/usr/bin/ssh-copy-id: ИНФОРМАЦИЯ: Источник ключей для установки: «.ssh/id_ed25519.pub» /usr/bin/ssh-copy-id: ИНФОРМАЦИЯ: попытка войти в систему с помощью новый ключ(и), чтобы отфильтровать уже установленные /usr/bin/ssh-copy-id: ИНФОРМАЦИЯ: 1 ключ(и) еще предстоит установить - если вам будет предложено сейчас установить новые ключи [электронная почта защищена] : разрешение отклонено (publickey,gssapi-keyex,gssapi-with-mic).

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

Но я также не вижу таких параметров в справке -h.

Подскажите, пожалуйста, как это сделать.

ssh-copy-id не работает, как упоминалось, но я нашел одну альтернативу.

Я могу подключиться к удаленному компьютеру, используя pem-файл 3.pem.

      ssh -i 3.pem ec2-user@54.174.85.61

Итак, я попробовал команду scp ниже.

      scp -q -i 3.pem .ssh/id_ed25519.pub ec2-user@54.174.85.61:~/.ssh/authorized_keys

Теперь это сработало, и я могу войти в систему, используя сгенерированный ключ.

      ssh -i .ssh/id_ed25519 ec2-user@54.174.85.61

Но он заменяет доступ к более раннему ключу 3.pem. Потому что он заменяет все содержимое файлаauthorized_keys, поскольку я просто копирую файл и заменяю старый файл.

Как убедиться, что происходит только добавление.

2 ответа

Есть решение по этой ссылке: https://superuser.com/questions/1264012/how-to-ssh-copy-id-2nd-key-when-the-server-only-allows-publickey-authentication

      ssh-copy-id -f -i ~/.ssh/dev_pub_key.pub -o StrictHostKeyChecking=no -o "IdentityFile ~/ssh_key.pem" $user@$server_name

Спасибо всем за помощь в этом

Предполагая, что вы уже используете проверку открытого ключа (что, как я читал, вы делаете), я бы дважды проверил разрешение как для папок, так и для файлов, связанных с открытым ключом ssh, то есть ~/.ssh, это должно быть 0700~/.ssh/authorized_keys, это должно быть 06:00

Другие вопросы по тегам