我对 AWS 完全陌生,我试图awscli
通过调用以下代码来使用:
root@DESKTOP-QK5VI8R:~# aws s3 ls
我为此应用了很多解决方案:
- 我将端口 8888 添加到 Windows 防火墙的入站/出站规则集中。
- 我在
hosts
Windows 的文件中添加了以下代码。
# End of section
192.168.184.241 localhost 8888
- 我也设立了;
但结果是一样的。
Failed to connect to proxy URL: "http://127.0.0.1:8888"
我的电脑上的代理设置:(@Tim)
我检查了电脑的代理设置。没有代理。但我在 MobaXterm 中使用 Windows 子系统 Ubuntu Linux。
我该如何解决这个问题?
答案1
一切都很好。您完成了所有设置,但突然发现您的 Windows 子系统 Linux (WSL) 中存在问题,因为存在一些安全问题的默认代理。(查看下图)
不要惊慌。您必须从设置中删除代理。步骤:
- 确保所有代理:root@DESKTOP-QK5VI8R:~# env | grep -i proxy HTTPS_PROXY=http://127.0.0.1:8888 HTTP_PROXY=http://127.0.0.1:8888
- 删除代理:
root@DESKTOP-QK5VI8R:~# 导出 HTTPS_PROXY= root@DESKTOP-QK5VI8R:~# 导出 HTTP_PROXY=
- 当您尝试通过“aws s3 ls”连接 AWS 时
调用 ListBuckets 操作时出现错误(SignatureDoesNotMatch):我们计算的请求签名与您提供的签名不匹配。请检查您的密钥和签名方法。
从 Linux 中删除凭证,然后打开 aws security 再次创建新密钥。再次在 aws configure 中添加这些密钥。#aws #cloud #linux #windows #azure
root@DESKTOP-QK5VI8R:~# env | grep proxy
root@DESKTOP-QK5VI8R:~#
root@DESKTOP-QK5VI8R:~# env | grep -i proxy
HTTPS_PROXY=http://127.0.0.1:8888
HTTP_PROXY=http://127.0.0.1:8888
root@DESKTOP-QK5VI8R:~# export HTTPS_PROXY=
root@DESKTOP-QK5VI8R:~# export HTTP_PROXY=
root@DESKTOP-QK5VI8R:~# env | grep -i proxy
HTTPS_PROXY=
HTTP_PROXY=
root@DESKTOP-QK5VI8R:~# aws s3 ls
An error occurred (SignatureDoesNotMatch) when calling the ListBuckets operation: The request signature we calculated does not match the signature you provided. Check your key and signing method.
root@DESKTOP-QK5VI8R:~# ^C
root@DESKTOP-QK5VI8R:~# cat ~/.aws/credentials
[default]
aws_access_key_id = AKIAVZJLEICPZPBKSJ7H
aws_secret_access_key = OJbXb7h6i7/g/xpfYdMdgrQ76dL+eTdEgAsKVsXi
root@DESKTOP-QK5VI8R:~# aws configure
AWS Access Key ID [****************SJ7H]: AKIAVZJXXXXXXXXXXXXX7LD4I
AWS Secret Access Key [****************VsXi]: mG+u/oP45HGXXXXXXXXXXXXkizUvXjo
Default region name [eu-west-1]: eu-west-1
Default output format [json]:
root@DESKTOP-QK5VI8R:~# cat ~/.aws/credentials
[default]