2011-04-02 3 views
0

J'ai une instance ec2 et je veux y télécharger un fichier. Je l'ai fait de cette façon: J'ai trouvé le DNS public de la console de gestion AWS. Ensuite, j'ai exécuté la commande scp et j'ai obtenu ceci.Télécharger le fichier sur l'instance ec2 dans 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 

Pourquoi cela se produit-il?

+0

Si vous modifiez des questions, s'il vous plaît seulement ajouter de nouvelles informations ou corriger des données incorrectes, ne pas réécrire complètement la question. Votre modification a complètement changé la question, et maintenant la réponse qui était auparavant pertinente semble n'avoir aucun rapport avec le problème. C'est une mauvaise étiquette sur un site comme celui-ci. Vous pouvez mettre à jour avec de nouveaux développements, mais il devrait y avoir une progression compréhensible ou passer à une nouvelle question pour un nouveau problème. – Caleb

+0

désolé cette fois, je vais garder cela à l'esprit. – danny

Répondre

2

L'adresse IP que vous utilisez est une adresse réseau interne qui ne peut être atteinte qu'à partir de la zone de disponibilité EC2.

Vous devez utiliser l'adresse externe pour atteindre l'instance. Vous pouvez le trouver en utilisant ec2-describe-instances. L'adresse sera probablement quelque chose comme ec2.x-x-x-x.blah.amazonaws.com. En outre, bien que vous sembliez déjà être sur la ligne de commande, vous devrez peut-être autoriser l'accès au port 22 via le pare-feu EC2 à votre instance.

+0

j'ai changé l'ip, mais encore ça ne marche pas, est-ce exact que j'utilise le DNS public? (J'ai changé le problème ci-dessus) – danny

+2

Votre problème est morphing ici. La réponse ci-dessus était correcte pour votre problème d'origine, mais votre modification actuelle montre un problème entièrement différent. Vous avez maintenant un problème d'authentification. Votre instance souhaite vous autoriser via un système basé sur une clé, et votre scp n'offre aucune information d'identification. – Caleb

1

Caleb a raison. Je dois offrir quelques informations d'identification à amazon. la syntaxe est comme: scp -i YOUR_KEY_PAIR FILE_WANT_TO_UPLOAD [email protected]:/home/ec2-user vous ne pouvez pas télécharger dans le répertoire personnel (je suppose que vous utilisez le nom d'utilisateur ec2).

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

est ce que Caleb a mentionné comme l'adresse externe. ce que j'ai fait dans mes questions originales est que j'ai l'adresse interne de la commande ifconfig. désolé encore une fois pour avoir gâché la question.