2011-04-02 110 views
0

我有一個ec2實例,我想上傳文件到它。我這樣做了: 我從AWS管理控制檯找到了公有DNS。 然後我運行scp命令並得到了這個。上傳文件到ec2實例在fedora

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 

這是怎麼發生的?

+0

如果您編輯的問題,請只添加新的信息或修復不正確的數據,不要完全重寫問題。你的編輯完全改變了這個問題,現在以前相關的答案似乎與問題沒有關係。在這樣的網站上,這是不好的禮節。你可以用新的發展來更新,但是應該有一個可以理解的進展,或者轉向一個新問題來解決新問題。 – Caleb 2011-04-02 15:10:17

+0

這次抱歉,我會記住這一點。 – danny 2011-04-02 15:17:22

回答

2

您使用的IP地址是隻能從EC2可用區域內部訪問的內部網絡地址。

您需要使用外部地址才能到達實例。你可以使用ec2-describe-instances找到它。該地址可能會像ec2.x-x-x-x.blah.amazonaws.com。

此外,雖然您似乎已經在命令行上執行了此操作,但您可能需要允許通過EC2防火牆訪問端口22以訪問您的實例。

+0

我改變了IP,但它仍然不能正常工作,是否使用公共DNS?(我改變了上面的問題) – danny 2011-04-02 15:06:21

+2

你的問題在這裏變形。上面的答案對您的原始問題是正確的,但是您當前的編輯顯示了完全不同的問題。您現在有一個身份驗證問題。您的實例想要通過基於密鑰的系統授權您,並且您的scp不提供任何憑據。 – Caleb 2011-04-02 15:08:23

1

Caleb是對的。我必須向亞馬遜提供一些憑據。語法是這樣的: scp -i YOUR_KEY_PAIR FILE_WANT_TO_UPLOAD [email protected]:/home/ec2-user 你不能上傳到主目錄(我猜是因爲你使用的是ec2用戶名)。

ec2.x-x-x-x.blah.amazonaws.com 

是迦勒提到的外部地址。我在原始問題中所做的是我從ifconfig命令得到的內部地址。再次抱歉搞亂了這個問題。