J'ai essayé de SSH sur mon serveur AWS Ubuntu et de copier le répertoire sur ma machine locale. Tout au long du processus, je rencontre différentes erreurs d’autorisation d’accès aux fichiers (indiquées ci-dessous).
Existe-t-il une autorisation de fichier spécifique nécessaire pour le fichier .pem qui me permet d'utiliser SSH et SCP?
Ou dois-je changer l'autorisation de fichier deux fois - une fois pour SSH et une autre pour SCP après ma connexion?
Voici les commandes que j'utilise:
SSH:
ssh -i sentiment.pem [email protected]
Copier de l'ordinateur distant vers l'ordinateur local avec:
scp [email protected]:/home/ubuntu/sentimentfolder /Users/Toga/Desktop/sentimentlocal
Je suis sous Mac OS X 10.7.5.
Essai et erreur:
1.) Après avoir initialement téléchargé le fichier .pem, ses autorisations ont été définies sur, je pense: 0644
-rw-r - r - @ 1 employé de Toga 1692 18 février 21:27 sentiment.pem
J'ai ensuite essayé de SSH via un terminal et j'ai reçu ce qui suit:
WARNING: UNPROTECTED PRIVATE KEY FILE!
Permissions 0644 for 'sentiment.pem' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: sentiment.pem
Permission denied (publickey).
2.) J'ai mis à jour les autorisations de fichier à: chmod 660 sentiment.pem
Après la mise à jour, les autorisations ont été définies sur:
-rw-rw ---- @ 1 employé de Toga 1692 18 février 21:27 sentiment.pem
J'ai ensuite essayé de SSH via un terminal et j'ai reçu ce qui suit:
WARNING: UNPROTECTED PRIVATE KEY FILE!
Permissions 0660 for 'sentiment.pem' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: sentiment.pem
Permission denied (publickey).
3.) J'ai mis à jour les autorisations de fichier à: chmod 600 sentiment.pem
Après la mise à jour, les autorisations ont été définies sur:
-rw ------- @ 1 personnel Toga 1692 18 février 21:27 sentiment.pem
J'ai ensuite essayé de SSH via un terminal et j'ai réussi !!
4.) Maintenant connecté, je lance la commande a pour copier le répertoire distant sur mon ordinateur local avec:
scp [email protected]:/home/ubuntu/sentimentfolder /Users/Toga/Desktop/sentimentlocal
Qui retourne:
Permission denied (publickey).
Tentatives de commandes SCP:
1.) a ajouté la commande -i et référencé le fichier .pem:
scp -i sentiment.pem [email protected]: / home / ubuntu / sentimentfolder / Utilisateurs / Toga / Desktop / sentimentlocal
2.) a ajouté la commande -i, référencé le fichier .pem et a modifié l'utilisateur AWS en utilisateur ec2:
scp -i sentiment.pem [email protected]: / home / ubuntu / sentimentfolder / Utilisateurs / Toga / Desktop / sentimentlocal
3.) a ajouté la commande -i, référencée au fichier .pem, a modifié l'utilisateur AWS en utilisateur ec2 et ajouté le chemin d'accès complet à l'emplacement du fichier .pem:
scp -i /Users/Toga/Desktop/rollup/Personal/Serial_Project_Starter/sentiment/sentiment.pem [email protected]: / home / ubuntu / sentiment / Utilisateurs / Toga / Desktop / sentimentlocal
la source
Réponses:
Visitez ici Comment se connecter à Amazon EC2 à distance à l'aide de SSH ou reportez-vous ci-dessous.
Comment se connecter à Amazon EC2 à distance à l'aide de SSH:
Créez un répertoire:
Déplacez le fichier .pem téléchargé vers le répertoire .ssh que nous venons de créer:
Modifiez les autorisations du fichier .pem afin que seul l'utilisateur root puisse le lire:
Créez un fichier de configuration:
Entrez le texte suivant dans ce fichier de configuration:
Enregistrez ce fichier.
Utilisez la commande ssh avec votre nom d’hôte DNS public pour vous connecter à votre instance.
par exemple:
la source
scp -r
.chmod 400 {keyfile}.pem
est ce que amazon a demandé et cela fonctionne.la source
Il semble que vous n'êtes pas censé utiliser l'adresse IP, mais le nom d'hôte complet du système dans la commande SCP. La documentation AWS le décrit à l' adresse http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html dans la section "Transfert de fichiers vers des instances Linux / Unix à partir de Linux / Unix avec SCP".
Et utiliser
-r
pour copier des répertoires.Et notez que le nom d'utilisateur par défaut est différent pour différentes images:
Alors, utilisez cette commande:
la source
La "permission refusée (publickey)" provient du serveur distant. Vous utilisez donc une mauvaise clé, vous ne pouvez pas vous connecter ou une faute de frappe dans le fichier allowed_keys à distance.
la source
et
la source
ssh
commande (et également fournir une référence, si possible). BTW, le achmod 400
été fourni dans une réponse il y a neuf mois.