J'essaie d'utiliser mon terminal Mac pour scanner un fichier depuis Téléchargements (phpMyAdmin téléchargé en ligne) vers mon instance Amazon EC2.
La commande que j'ai utilisée était:
scp -i myAmazonKey.pem phpMyAdmin-3.4.5-all-languages.tar.gz [email protected]:~/.
L'erreur que j'ai obtenue: Avertissement: le fichier d'identité myAmazonKey.pem n'est pas accessible: aucun fichier ou répertoire de ce type. Autorisation refusée (publickey). connexion perdue
Mes myAmazonkey.pem et phpMyAdmin-3.4.5-all-languages.tar.gz sont tous deux en téléchargement, alors j'ai essayé
scp -i /Users/Hello_Kitty22/Downloads/myAmazonKey.pem /Users/Hello_Kitty22/Downloads/phpMyAdmin-3.4.5-all-languages.tar.gz [email protected]:~/.
et l'erreur que j'ai obtenue: Avertissement: fichier d'identité /User/Hello_Kitty22/Downloads/myAmazonkey.pem non accessible: aucun fichier ou répertoire de ce type. Autorisation refusée (publickey). connexion perdue
Quelqu'un peut-il me dire comment résoudre mon problème?
ps il y a un post similaire: scp (copie sécurisée) à l'instance ec2 sans mot de passe mais il ne répond pas à ma question.
la source
Réponses:
Essayez de spécifier l'utilisateur à être
ec2-user
, par exempleVoir Connexion à des instances Linux / UNIX à l'aide de SSH .
la source
:/
j'essaierais de copier le dossier à la racine du système, ce qui donnerait des erreurs d'autorisation sur toutes les machines sans exécuter sudo (ou en tant que root).le deuxième répertoire est votre destination cible, n'utilisez pas de nom de serveur ici. En d'autres termes, vous n'avez pas besoin de mentionner le nom de la machine sur laquelle vous vous trouvez actuellement.
-r s'il s'agit d'un répertoire.
la source
Votre clé ne doit pas être visible publiquement pour que SSH fonctionne. Utilisez cette commande si nécessaire:
la source
Vous devriez être sur votre machine locale pour essayer la commande scp ci-dessus.
Sur votre ordinateur local, essayez:
la source
Voici les détails de ce qui fonctionne pour une instance EC2 :
Quelques notes pour commencer:
-i
scp
signifie protocole de copie sécurisée. La connaissance des mots facilite la mémorisation de la commande.-i
dicte que vous devez donner le.pem
fichier comme paramètre suivant. S'il n'y en a pas-i
, alors vous n'avez pas besoin d'un.pem
.:~
à la fin de la destination pour l'instance EC2.la source
J'avais exactement le même problème, ma solution était de
scp -i /path/pem -r /path/file/ ec2-user@public aws dns name:
(laissez ce champ vide ici)une fois que vous avez terminé cette partie, accédez au serveur ssh et au fichier mv à l'emplacement souhaité
la source
la source
Le format SCP ci-dessous fonctionne pour moi
SampleFile.txt : Ce sera le chemin de votre répertoire racine (dans mon cas, / home / ubuntu). dans mon cas, le fichier que je voulais télécharger était à / var / www
SampleFile2.txt : Ce sera le chemin du chemin racine de votre machine (dans mon cas, / home / MyPCUserName)
Donc, je dois écrire la commande ci-dessous
la source
Envoyer le fichier du local au serveur:
Téléchargez le fichier du serveur vers le local:
la source
Le processus d'utilisation de SCP pour copier des fichiers d'une machine locale vers une instance AWS EC2 Linux est décrit étape par étape (y compris les points mentionnés ci-dessous) dans cette vidéo .
Pour corriger ce problème particulier avec l'utilisation de SCP:
Vous devez spécifier le bon utilisateur Linux. Depuis Amazon :
Votre clé privée ne doit pas être visible publiquement. Exécutez la commande suivante pour que seul l'utilisateur root puisse lire le fichier.
la source
Vérifiez les autorisations sur le fichier .pem ... openssh n'aime généralement pas les clés privées lisibles par tout le monde et échouera (iir, scp ne fait pas un excellent travail pour fournir ces commentaires à l'utilisateur).
Pouvez-vous simplement ssh avec cette clé sur votre hôte AWS?
la source
Vous devez d'abord changer le mode de
.pem
fichier du mode lecture et écriture au mode lecture seule. Cela peut être fait simplement par une seule commande dans le terminalsudo chmod 400 your_public_key.pem
la source
J'ai essayé toutes les suggestions mentionnées ci-dessus et rien n'a fonctionné. J'ai mis fin à l'instance actuelle, j'en ai lancé une autre et j'ai répété le même processus exact. Cette fois, aucun problème. Parfois, ce pourrait être la faute de l'ami distant.
la source
Cela a juste fonctionné pour moi. J'ai utilisé une combinaison de deux autres réponses à cette question.
"[email protected]" est copié-collé à partir du DNS public de votre instance ec2.
la source
J'utiliserais:
scp -i "path to .pem file" "file to be copeide from local machine" username@amazoninstance: 'destination folder to copy file on remote machine'
la source