Jeg har prøvd å SSH til min AWS Ubuntu-server og kopiere katalogen til min lokale maskin. Gjennom hele prosessen opplever jeg forskjellige filtillatelsesfeil (nevnt nedenfor).
Er det en spesifikk filtillatelse som trengs for .pem-filen som lar meg SSH og SCP?
Eller må jeg endre filtillatelsen to ganger - en gang for SSH og en annen for SCP etter at jeg har logget inn?
Her er kommandoene jeg bruker: .
SSH:
ssh -i sentiment.pem [email protected]
Kopier fra ekstern til lokal datamaskin med:
scp [email protected]:/home/ubuntu/sentimentfolder /Users/Toga/Desktop/sentimentlocal
Jeg bruker Mac OS X 10.7.5.
Prøve og feile:
1.) Etter at jeg først lastet ned .pem-filen, ble tillatelsene satt til, tror jeg: 0644
-rw-r--r--@ 1 Toga staff 1692 Feb 18 21:27 sentiment.pem
Jeg prøvde deretter å SSH via terminal og mottok følgende:
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.) Jeg oppdaterte filtillatelsene til: chmod 660 sentiment.pem
Etter oppdateringen ble tillatelsene satt til:
-rw-rw----@ 1 Toga staff 1692 Feb 18 21:27 sentiment.pem
Jeg prøvde deretter å SSH via terminal og fikk følgende:
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.) Jeg oppdaterte filtillatelsene til: chmod 600 sentiment.pem
Etter oppdateringen ble tillatelsene satt til:
-rw-------@ 1 Toga staff 1692 Feb 18 21:27 sentiment.pem
Jeg prøvde deretter å SSH via terminal og lyktes!!!.
4.) Nå logget inn, kjører jeg en kommando for å kopiere den eksterne katalogen til min lokale datamaskin med:
scp [email protected]:/home/ubuntu/sentimentfolder /Users/Toga/Desktop/sentimentlocal
Som returnerer:
Permission denied (publickey).
SCP-kommandoer forsøkt:
1.) Lagt til kommandoen -i og referert til .pem-filen:
scp -i sentiment.pem [email protected]:/home/ubuntu/sentimentfolder /Users/Toga/Desktop/sentimentlocal
2.) la til kommandoen -i, refererte til .pem-filen og endret brukeren for AWS til ec2-user:
scp -i sentiment.pem [email protected]:/home/ubuntu/sentimentfolder /Users/Toga/Desktop/sentimentlocal
3.) la til kommandoen -i, refererte til .pem-filen, endret brukeren for AWS til ec2-user og la til den fullstendige filbanen for plasseringen av .pem-filen:
scp -i /Users/Toga/Desktop/rollup/Personal/Serial_Project_Starter/sentiment/sentiment.pem [email protected]:/home/ubuntu/sentiment /Users/Toga/Desktop/sentimentlocal
Besøk her Slik kobler du deg til Amazon EC2 eksternt ved hjelp av SSH eller se nedenfor.
Hvordan koble til Amazon EC2 eksternt ved hjelp av SSH:.
Last ned .pem-filen.
I Amazon Dashboard velger du "Forekomster" fra venstre sidelinje, og velger deretter forekomsten du vil koble til.
Klikk på "Handlinger", og velg deretter "Koble til";
Klikk på "Koble til med en frittstående SSH-klient";
Åpne et terminalvindu
Opprett en katalog:
# mkdir -p ~/.ssh
Flytt den nedlastede .pem-filen til .ssh-katalogen vi nettopp opprettet:
# mv ~/Downloads/ec2private.pem ~/.ssh
Endre tillatelsene til .pem-filen slik at bare root-brukeren kan lese den:
# chmod 400 ~/.ssh/ec2private.pem
Opprett en konfigurasjonsfil:
# vim ~/.ssh/config
Skriv inn følgende tekst i konfigurasjonsfilen:
Vert *amazonaws.com
IdentityFile ~/.ssh/ec2private.pem
Bruker ec2-bruker
Lagre filen.
Bruk ssh-kommandoen med ditt offentlige DNS-vertsnavn for å koble til instansen din; f.eks:
# ssh ec2-54-23-23-23-34.example.amazonaws.com
Det ser ut til at du ikke skal bruke IP-adressen, men det fulle vertsnavnet til systemet i SCP-kommandoen. AWS-dokumentasjonen beskriver dette på http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html under avsnittet "Transferring Files to Linux/Unix Instances from Linux/Unix with SCP".
Og bruk -r
for å kopiere kataloger.
Og merk at standard brukernavn er forskjellig for forskjellige bilder:
For Amazon Linux er standard brukernavn
ec2-user
. For RHEL5 er brukernavnet ofteroot
, men kan væreec2-user
. For Ubuntu er brukernavnetubuntu
. For SUSE Linux er brukernavnetroot
. Ellers kan du ta kontakt med AMI-leverandøren din.
Så bruk denne kommandoen:
scp -r -i /Users/Toga/Desktop/rollup/Personal/Serial_Project_Starter/sentiment/sentiment.pem [email protected]:~/sentiment /Users/Toga/Desktop/sentimentlocal