У меня есть файл с закрытым ключом SSH. Когда я пытаюсь получить доступ к серверу с помощью команды

ssh -vvv -i key *@*.*.*.* -p2222

это проверяет ключ -

debug1: Trying private key: key
debug3: sign_and_send_pubkey: ED25519 SHA256:9Lxb74WbUExNBifvtYtUuqI4gebuim0hg024jSqlvDo
debug3: send packet: type 50
debug2: we sent a publickey packet, wait for reply
debug3: receive packet: type 52
debug1: Authentication succeeded (publickey).

После этого происходит сбой соединения с сообщением «Эта служба разрешает только sftp-соединения».

Но когда я пытаюсь подключиться через sftp с тем же ключом

sftp -vvv -i key *@*.*.*.* -p2222

, ключ больше не проверен.

debug1: Trying private key: key
debug3: sign_and_send_pubkey: ED25519 SHA256:9Lxb74WbUExNBifvtYtUuqI4gebuim0hg024jSqlvDo
debug3: send packet: type 50
debug2: we sent a publickey packet, wait for reply
debug3: receive packet: type 51

Можете ли вы помочь мне найти проблему?

1 ответ1

1
sftp -vvv -i key *@*.*.*.* -p2222

Проблема в вашем параметре -p2222 . Есть две проблемы:

  1. Команда OpenSSH sftp использует -p для другой цели, чем ssh . Чтобы указать удаленный SSH-порт для sftp, используйте опцию -P (заглавная P).

  2. Команда OpenSSH sftp не принимает -P (или -p) в этой позиции в командной строке. Вам нужно переместить опцию, чтобы она предшествовала аргументу user @ host.

Короче, попробуйте это:

sftp -vvv -i key -P2222 *@*.*.*.*

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .