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

ssh пустая кодовая фраза, но все еще запрашивает ее

Я создал нового пользователя и ключ, но когда я получаю удаленный доступ, он запрашивает кодовую фразу, но я ее не устанавливал. Еще переделал на тройную проверку. Ниже приведены команда, которую я выполнил, и ошибка. Может ли кто-нибудь увидеть очевидную ошибку в моих командах для создания ключа ?:

useradd -m -d /home/webuser -s /bin/bash webuser
su webuser
ssh-keygen -t rsa
cat id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
rm id_rsa.pub

ssh webuser@ip_of_target_server
debug1: Found key in /root/.ssh/known_hosts:1
debug1: ssh_ecdsa_verify: signature correct
debug2: kex_derive_keys
debug2: set_newkeys: mode 1
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug2: set_newkeys: mode 0
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug2: key: /root/.ssh/id_rsa ((nil)),
debug2: key: /root/.ssh/id_dsa ((nil)),
debug2: key: /root/.ssh/id_ecdsa ((nil)),
debug2: key: /root/.ssh/id_ed25519 ((nil)),
debug1: Authentications that can continue: publickey
debug3: start over, passed a different list publickey
debug3: preferred gssapi-keyex,gssapi-with-mic,publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /root/.ssh/id_rsa
debug1: key_parse_private2: missing begin marker
debug1: key_parse_private_pem: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
Enter passphrase for key '/root/.ssh/id_rsa':
debug2: no passphrase given, try next key
debug1: Trying private key: /root/.ssh/id_dsa
debug3: no such identity: /root/.ssh/id_dsa: No such file or directory
debug1: Trying private key: /root/.ssh/id_ecdsa
debug3: no such identity: /root/.ssh/id_ecdsa: No such file or directory
debug1: Trying private key: /root/.ssh/id_ed25519
debug3: no such identity: /root/.ssh/id_ed25519: No such file or directory
debug2: we did not send a packet, disable method
debug1: No more authentication methods to try.
Permission denied (publickey).

Вы смешиваете несколько вещей.

Вы не установили пароль для созданного вами пользователя, поэтому он не может войти в систему, используя пароль, поэтому SSH не будет запрашивать его.

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

Кроме того, мне не хватает нескольких шагов между тем, когда вы добавляете ключ к авторизованным ключам и когда вы пытаетесь подключиться, но это выглядит (судя по тому, как все делается, фактических указаний в журналах нет), как ключ, который вы добавили в авторизованный ключ - это не тот, который у вас есть на машине, которая пытается подключиться.

тебе надо :

  • убедитесь, что ваша целевая папка .ssh имеет правильные разрешения (обычно 700), а не что-то слишком открытое (например, не 775 или другое)
    • убедитесь, что у вашего пункта назначения authorized_keys также есть правильные разрешения (обычно 644)
    • убедитесь, что ваш исходный закрытый ключ имеет правильные разрешения (600, макс.)
    • убедитесь, что ваши исходные и целевые домашние каталоги имеют правильные разрешения (опять же, не слишком открыты)
    • убедитесь, что в ключе в authorized_keys нет пробелов или новых строк (этого не должно быть с вашей кошкой)
    • убедитесь, что вы используете правильный закрытый ключ при выполнении ssh / scp / sftp (по умолчанию он должен использовать id_rsa)

кроме того, какую команду ssh вы используете? от «какого пользователя» к «какому пользователю»? если вы пытаетесь использовать ssh для учетной записи root на другом компьютере, вам также необходимо убедиться, что для его файла sshd_config для PermitRootLogin установлено значение Yes или WithoutPassword (не No)

и напоминание: сгенерированный вами открытый ключ необходимо развернуть в файле authorized_key целевого пользователя. поэтому, когда вы делаете:

ssh -i /root/.ssh/id_rsa корень @ remote_machine

он работает без пароля (если вы не установили пароль при использовании ssh-keygen -t rsa, он запросил вас, и вам нужно дважды нажать Enter, не вводите никакого значения)

надеюсь, это поможет

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