Как использовать 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