我正在尝试将文件从我电脑中的 Oracle VirtualBox 传输到 AWS EC2 实例
使用命令 -
scp /progs/add.sh [email protected]:/file1
其中 - 18.221.48.189 是 AWS 实例的公共 IP
我收到以下错误,请帮忙
The authenticity of host '18.221.48.189 (18.221.48.189)' can't be established.
ECDSA key fingerprint is SHA256:g6AQEO7IYb8rqIb12+JCnwmYVISyfAT6Of2sLLhq4r4.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '18.221.48.189' (ECDSA) to the list of known hosts.
Permission denied (publickey).
lost connection
答案1
您的 EC2 实例上运行着什么 Linux?您可能需要使用用户名“ec2-user”进行连接。
scp /progs/add.sh [email protected]:/file1
根据https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html
获取用于启动实例的 AMI 的默认用户名:
- 对于 Amazon Linux 2 或 Amazon Linux AMI,用户名是 ec2-user。
- 对于 CentOS AMI,用户名是 centos。
- 对于 Debian AMI,用户名是 admin。
- 对于 Fedora AMI,用户名是 ec2-user 或 fedora。
- 对于 RHEL AMI,用户名是 ec2-user 或 root。
- 对于 SUSE AMI,用户名是 ec2-user 或 root。
- 对于 Ubuntu AMI,用户名是 ubuntu。
- 否则,如果 ec2-user 和 root 不起作用,请咨询 AMI 提供商。
答案2
默认情况下,ssh 和 scp 使用默认的 id_rsa 密钥进行身份验证,并且看起来您的 EC2 实例正在使用不同的 ssh 密钥。
您需要指定使用哪个 ssh 密钥-i /path/to/ssh_key
scp -i ssh_key /progs/add.sh [email protected]:/file1
编辑:格式化