将文件上传到 Fedora 中的 ec2 实例
我有一个 ec2 实例,我想将文件上传到其中。我是这样做的: 我从AWS管理控制台找到了公共DNS。 然后我运行 scp
命令并得到了这个 .
scp -v helloworld.java [email protected]:/home
Executing: program /usr/bin/ssh host ec2-204-236-198-218.compute-1.amazonaws.com, user ec2-user, command scp -v -t -- /home
OpenSSH_5.5p1, OpenSSL 1.0.0d-fips 8 Feb 2011
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to ec2-204-236-198-218.compute-1.amazonaws.com [204.236.198.218] port 22.
debug1: Connection established.
debug1: identity file /home/dassio/.ssh/id_rsa type -1
debug1: identity file /home/dassio/.ssh/id_rsa-cert type -1
debug1: identity file /home/dassio/.ssh/id_dsa type -1
debug1: identity file /home/dassio/.ssh/id_dsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
debug1: match: OpenSSH_5.3 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.5
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host 'ec2-204-236-198-218.compute-1.amazonaws.com' is known and matches the RSA host key.
debug1: Found key in /home/dassio/.ssh/known_hosts:6
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /home/dassio/.ssh/id_rsa
debug1: Trying private key: /home/dassio/.ssh/id_dsa
debug1: No more authentication methods to try.
Permission denied (publickey).
lost connection
为什么会出现这种情况?
I have a ec2 instance and I want to upload file into it. I did it this way:
I found the public DNS from the AWS management console.
Then I ran the scp
command and got this .
scp -v helloworld.java [email protected]:/home
Executing: program /usr/bin/ssh host ec2-204-236-198-218.compute-1.amazonaws.com, user ec2-user, command scp -v -t -- /home
OpenSSH_5.5p1, OpenSSL 1.0.0d-fips 8 Feb 2011
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to ec2-204-236-198-218.compute-1.amazonaws.com [204.236.198.218] port 22.
debug1: Connection established.
debug1: identity file /home/dassio/.ssh/id_rsa type -1
debug1: identity file /home/dassio/.ssh/id_rsa-cert type -1
debug1: identity file /home/dassio/.ssh/id_dsa type -1
debug1: identity file /home/dassio/.ssh/id_dsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
debug1: match: OpenSSH_5.3 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.5
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host 'ec2-204-236-198-218.compute-1.amazonaws.com' is known and matches the RSA host key.
debug1: Found key in /home/dassio/.ssh/known_hosts:6
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /home/dassio/.ssh/id_rsa
debug1: Trying private key: /home/dassio/.ssh/id_dsa
debug1: No more authentication methods to try.
Permission denied (publickey).
lost connection
Why is this happening ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您使用的 IP 地址是内部网络地址,只能从 EC2 可用区域内部访问。
您需要使用外部地址来访问实例。您可以使用
ec2-describe-instances
找到它。该地址可能类似于 ec2.xxxx.blah.amazonaws.com。此外,尽管您似乎已经进入命令行,您可能已经完成了此操作,但您可能需要允许通过 EC2 防火墙访问您的实例的端口 22。
The ip address you are using is an internal network address that can only be reached from inside the EC2 availability zone.
You need to use the external address to reach the instance. You can find this using
ec2-describe-instances
. The address will likely be something like ec2.x-x-x-x.blah.amazonaws.com.Additionally, although since you seem to already be in on the command line you might have already done this, you might need to allow access to port 22 through the EC2 firewall to your instance.
迦勒是对的。我必须向亚马逊提供一些凭据。语法如下:
scp -i YOUR_KEY_PAIR FILE_WANT_TO_UPLOAD [电子邮件受保护]:/home/ ec2-用户
您无法上传到主目录(我猜是因为您使用的是 ec2 用户名)。
就是 Caleb 提到的外部地址。我在最初的问题中所做的是从 ifconfig 命令获取内部地址。再次抱歉搞砸了这个问题。
Caleb is right. i have to offer some credentials to amazon . the Syntax is like:
scp -i YOUR_KEY_PAIR FILE_WANT_TO_UPLOAD [email protected]:/home/ec2-user
you can't upload to the home directory(i guess because you are using the ec2-user name).
is what Caleb mentioned as the external address. what i did in my original questions is i got the internal address from the
ifconfig
command. sorry again for messing up the question.