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

Невозможно выполнять команды при подключении к серверу AWS SFTP Transfer

Прежде всего, я создал простую корзину в S3.

После этого я создал сервер в сервисе AWS SFTP Transfer. https://aws.amazon.com/sftp/.

Затем я создал нового пользователя внутри AWS SFTP для тестовых целей и прикрепил к нему роль с AdministratorAccess политика к нему.

Наконец, я попытался подключиться с помощью команды терминала sftp. Он успешно подключается. Но когда я нахожусь на сервере, я не могу выполнять ни одну из команд sftp. Например:

sftp> dir
Couldn't read directory: Failure

Почему я не могу выполнить ни одну команду SFTP на сервере?

Я тоже столкнулся с этим. Пожалуйста, обратитесь к статье Вот для подробностей.

Но скорее всего это неправильная установка роли. Имейте в виду, что вам нужно не только настроить роль с доступом к корзине s3. Например вот так

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListAllMyBuckets",
                "s3:GetBucketLocation"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "s3:ListBucket",
            "Resource": "arn:aws:s3:::data-transfer-inbound"
        },
        {
            "Effect": "Allow",
            "Action": "s3:*",
            "Resource": "arn:aws:s3:::data-transfer-inbound/jeff/*"
        }
    ]
}

Вы также должны настроить доверенный объект (принципала), чтобы роль могла его принять. В этом случае принципал должен быть transfer.amazonaws.com

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "transfer.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

В роли вы можете поместить вышеуказанное на вкладке «Доверительные отношения».