web-dev-qa-db-fra.com

Comment puis-je copier des fichiers de ma machine vers Amazon EC2?

Je suis en mesure de ssh dans mon instance Amazon EC2 avec ssh -i node.pem [email protected]

J'essaie de copier un dossier appelé gametest de mon ordinateur portable vers l'instance d'un dossier appelé gametest. Je continue à obtenir une autorisation refusée. J'ai essayé la commande scp -v -r -i node.pem /Users/path/to/file/gametest [email protected]:/gametest. Qu'est-ce qui ne va pas?

Voici la sortie commentée (j'ai changé mon nom d'utilisateur en USER pour confidentialité).

Executing: program /usr/bin/ssh Host 35.164.71.227, user ubuntu, command scp -v -r -t /gametest
OpenSSH_7.3p1, LibreSSL 2.4.1
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 20: Applying options for *
debug1: Connecting to 35.164.71.227 [35.164.71.227] port 22.
debug1: Connection established.
debug1: key_load_public: No such file or directory
debug1: identity file node.pem type -1
debug1: key_load_public: No such file or directory
debug1: identity file node.pem-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.3
debug1: Remote protocol version 2.0, remote software version OpenSSH_7.2p2 Ubuntu-4ubuntu2.1
debug1: match: OpenSSH_7.2p2 Ubuntu-4ubuntu2.1 pat OpenSSH* compat 0x04000000
debug1: Authenticating to 35.164.71.227:22 as 'ubuntu'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: [email protected]
debug1: kex: Host key algorithm: ecdsa-sha2-nistp256
debug1: kex: server->client cipher: [email protected] MAC: <implicit> compression: none
debug1: kex: client->server cipher: [email protected] MAC: <implicit> compression: none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server Host key: ecdsa-sha2-nistp256 SHA256:N7OMBCEHZm9trGWevCHV02WAffY49Bt6ET9qQOqdvqM
debug1: Host '35.164.71.227' is known and matches the ECDSA Host key.
debug1: Found key in /Users/USER/.ssh/known_hosts:11
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_input_ext_info: server-sig-algs=<rsa-sha2-256,rsa-sha2-512>
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: node.pem
debug1: Authentication succeeded (publickey).
Authenticated to 35.164.71.227 ([35.164.71.227]:22).
debug1: channel 0: new [client-session]
debug1: Requesting [email protected]
debug1: Entering interactive session.
debug1: pledge: network
debug1: client_input_global_request: rtype [email protected] want_reply 0
debug1: Sending environment.
debug1: Sending env LANG = en_US.UTF-8
debug1: Sending command: scp -v -r -t /gametest
Entering directory: D0755 0 gametest
Sink: D0755 0 gametest
scp: /gametest: Permission denied
USER-mac01:downloads USER$ debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: channel 0: free: client-session, nchannels 1
debug1: fd 0 clearing O_NONBLOCK
debug1: fd 1 clearing O_NONBLOCK
Transferred: sent 2516, received 2592 bytes, in 0.2 seconds
Bytes per second: sent 10657.0, received 10979.0
debug1: Exit status 1
4
swagrov

Comme indiqué dans les commentaires, essayez avec

scp -v -r -i node.pem /Users/path/to/file/gametest [email protected]:

le répertoire gametest est donc créé sur le serveur.

le dossier appelé gametest est surligné en vert. Qu'est-ce que ça veut dire?

La couleur verte dépend de la configuration de votre environnement, cela peut signifier qu'il s'agit d'un répertoire ou spécifier ses autorisations, comme s'il était inscriptible ou lisible.

1
marcanuy

Il y a quelques problèmes à résoudre, essayons-les un à la fois.

Je continue à obtenir une autorisation refusée

Vérifiez que vos autorisations pour le fichier de clé sont correctes. Voici une bonne marche à travers les étapes à suivre . En gros, déplacez la clé vers ~/.ssh/et définissez ses autorisations tout en vous assurant qu'elle est bien connectée dans le panneau de configuration AWS (cette deuxième partie est correcte car vous pouvez déjà entrer SSH).

le dossier appelé gametest est surligné en vert. Qu'est-ce que ça veut dire?

Les éléments surlignés en vert dans le terminal sont des fichiers exécutables ou des fichiers de données , pas des dossiers .

J'essaie de copier sur un dossier appelé gametest

Essayez ceci sur le serveur: cd && mv gametest gametest.bak && mkdir ~/gametest (c'est une chaîne de commandes pour 1- changer le répertoire dans/home de votre utilisateur, 2- déplacer le fichier que vous avez actuellement sur ~/gametest dans un nouveau fichier appelé 'gametest.bak' et 3- créez un nouveau répertoire ~/gametest à la racine du répertoire/home de votre utilisateur).

Ensuite, essayez votre commande d'origine sur votre ordinateur local. Tout devrait fonctionner maintenant, mais sinon, nous avons besoin de plus d'indices.

Pour surveiller le journal SSH sur le serveur, exécutez cette opération pour surveiller le journal des erreurs dans un terminal et relancez la commande défaillante dans une deuxième fenêtre de terminal: tail -f /var/log/auth.log. presse CTRL + C pour annuler la surveillance du journal des erreurs.

Je soupçonne que la cause première du problème est le fait que vous essayiez de copier un répertoire dans un fichier sur le serveur, Ce n'est pas un répertoire, et que l'étape cd && mv gametest gametest.bak && mkdir ~/gametest ci-dessus corrige des problèmes, mais publiez une modification ou un commentaire si cela ne résout pas le problème pour vous.

0
Tom Brossman