scp copy over ssh non funziona - errore di autorizzazione negata, per favore?


83

Mi sta facendo impazzire! Voglio solo trasferire un semplice file dal laptop al server.

Sto usando Ubuntu su entrambe le macchine.

Quindi ho:

-rwxr-xr-x 1 sandro    414622 2011-10-14 23:42 sandrophoto-html.tar.gz

E lo sto inviando usando:

sudo scp -P XXXX sandrophoto-html.tar.gz usern@server.local:/media/xx/xx/xx

E ottengo: scp: /media/xx/xx/xx/sandrophoto-html.tar.gz: Permission denied

ps Potrei fare diversamente - Voglio inviare il file tar.gz che si trova sul mio desktop, al server remoto nella cartella / media / yadayda


2
Nel mio caso, era un motivo di sicurezza sul lato ricevente, dovevo chmod la directory per consentire all'utente remoto di scrivere il file (chmod 777 la directory - ma è un laboratorio interno)
ilansch

Risposte:


95

Hai le cose nel giusto ordine da quello che ho capito, il modo generale in cui viene fatto un SCP è:

scp sourceuser@sourcehost:/path/to/source/file destinationuser@destinationhost:/path/to/destination/

A giudicare dalla tua domanda, hai un file locale che desideri inviare al server di destinazione. Quindi hai la sintassi giusta che è buona!

Se ti viene negata l'autorizzazione, non stai utilizzando il nome utente corretto o qualcosa non va con l'autenticazione. Molto probabilmente, è perché il comando sudo funziona solo localmente, per cominciare, quindi non ti darà il root sulla casella remota, quindi questo è probabilmente il problema. Assicurarsi che l'utente a cui si sta effettuando l'accesso come sul server remoto disponga delle autorizzazioni di scrittura per la posizione in cui si sta tentando di scrivere.

Se il problema è che l'utente di destinazione non ha accesso a quella posizione senza sudo, spostare il file nella cartella principale del destinatario, quindi sudo mv il file dalla shell sull'altro server per metterlo nella posizione corretta.


9
Grazie, ho dovuto aggiungere il permesso di scrittura alla directory di destinazione
PiKey,

@PiKey Questa dovrebbe essere una risposta
Code-Guru

39

Ciao, ho avuto lo stesso problema di errore di autorizzazione risolto in questo modo

Assicurarsi che la directory in cui si sta copiando 192.168.0.4sia di proprietà del nome utente dell'utente

chown username downloads

Sul tuo computer locale quindi fai

sudo scp filename.zip username@192.168.0.4:/etc/Myfiles/downloads

Saluti


grazie, erano permessi, in particolare qui dovevo usare chmodnella cartella di destinazione sul server remoto
Aquarius Power

26

Permesso negato significa che non sei il root del server. Hai solo un account lì. Quindi in quel caso devi fare questo:

sudo scp -r /path2yourFolder/ username@server_Ip:/home/username

Questo verrà copiato nella tua home directory sul server.

Questo funzionerà anche:

scp -r /path2yourFolder/ username@server_Ip:~/

2
salvavita! : ~ / l'ha fatto per me.
trdavidson,

~/è davvero il modo, -rè per copiare in modo ricorsivo l'intera directory.
Noam Manos,

9

Questo errore si è verificato per me quando il file esisteva già nella posizione di destinazione e il file esistente aveva autorizzazioni di sola lettura (impedendo la sovrascrittura del file). Nel mio caso, ho appena effettuato l'accesso ed eliminato il file esistente e questo ha risolto il problema.


7

Ho avuto un problema simile, è successo perché sshprende -p xxxxper specificare la porta mentre scpprende -P xxxxper specificare la porta. Incoerenza minore, così facile da perdere :(


Ti lodo. Non preoccuparti se aggiungo un paio di parole chiave in grado di Google per renderlo più visibile:scp doesn't work Permission denied (publickey). lost connection for ec2 compute.amazonaws.com
user1717828

0

Ho avuto lo stesso problema. Ho scoperto che la directory contenente il mio file sorgente non aveva abbastanza autorizzazioni. Quindi ho appena cambiato la modalità ricorsivamente usando: chmod -R 771 directory_pathsulla macchina sorgente.


0

Stavo cercando di copiare dal mio computer locale come username@localhost; la chiave SSH che stavo usando non era registrata per accedere al mio localhost, quindi mi veniva negata l'autorizzazione. Quando l'ho rimosso dalla porzione di origine , ha funzionato.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.