Trasferisci file utilizzando scp: autorizzazione negata

Provo a trasferire file dal computer remoto utilizzando ssh al mio computer:

scp My_file.txt user_id@server:/Home

Questo dovrebbe mettere My_file.txt nella cartella home del mio computer, giusto? Ottengo

scp / Home: autorizzazione negata

Anche quando provo: ...@server:/Desktop, per copiare i file dal computer remoto al desktop.

Cosa sto facendo di sbagliato?

Commenti

  • Se desideri copiare il file nella cartella home di ‘ user_id ‘ usa scp My_file.txt user_id@server: Copia nella cartella home dellutente.

Risposta

I tuoi comandi stanno tentando di inserire il nuovo documento nella root (/) della tua macchina. Quello che vuoi fare è trasferirli nella tua directory home (dato che non hai i permessi per scrivere in /). Se il percorso per la tua casa è qualcosa come /home/erez prova quanto segue:

scp My_file.txt user_id@server:/home/erez/ 

Puoi sostituire il percorso al tuo home directory con la scorciatoia ~/, quindi quanto segue avrà lo stesso effetto:

scp My_file.txt user_id@server:~/ 

Puoi anche andartene fuori il sentiero del tutto sul lato remoto; questo significa la tua directory home.

scp My_file.txt user_id@server: 

Cioè, per copiare il file sul desktop potresti trasferirlo in /home/erez/Desktop/:

scp My_file.txt user_id@server:/home/erez/Desktop/ 

o utilizzando la scorciatoia:

scp My_file.txt user_id@server:~/Desktop/ 

o utilizzando un percorso relativo sul lato remoto, che viene interpretato rispetto alla directory home:

scp My_file.txt user_id@server:Desktop/ 

Modifica:

As @ ckhan già menzionato, devi anche scambiare gli argomenti, deve essere

scp FROM TO 

Quindi se vuoi copiare il file My_file.txt dal server user_id@server al desktop, dovresti provare quanto segue:

scp user_id@server:/path/to/My_file.txt ~/Desktop/ 

Se il il file My_file.txt si trova nella tua directory home sul server, puoi utilizzare nuovamente il collegamento:

scp user_id@server:~/My_file.txt ~/Desktop/ 

Commenti

  • – ‘ ho provato: ” ~ / per ‘ Home ‘ adesso e anche ” ~ / Desktop /. Entrambi hanno prodotto: My_file.txt 100% 0 0.0 KB / s 00:00 e non riesco a vedere i file nelle mie cartelle. Cosa sto ancora facendo di sbagliato? Grazie mille!
  • Nel secondo esempio di comando, il ~ dovrebbe essere protetto dalla valutazione in modo da essere valutato sullhost remoto: \~ per esempio.
  • Per ringraziarti, mi sono registrato al sito. Grazie mi hai salvato la giornata 🙂

Risposta

Sono venuto qui per “Trasferisci file usando scp: permesso negato “perché ho avuto lo stesso errore.

Nel mio caso, il file scaricato con scp avrebbe sovrascritto un file di proprietà di root e io non ero root. In breve, controlla la proprietà del file sovrascritto.

Commenti

  • In questo caso ‘ è perché ‘ sta cercando di scrivere su /Home e non essendo root, ‘ non ha accesso in scrittura al di fuori di ~/
  • Mi aiuti.

Rispondi

Ciò che ha corretto il “permesso negato” per me è stato, sul server remoto, cambiare la proprietà della cartella in root: (Questo può accadere quando si invia un file a un utente non root e la directory è di proprietà di root! ) Sul computer remoto (copiando dest.):

sudo chown (your username) (remote folder) 

Inoltre, per sicurezza, abilita tutti i permessi sulla cartella remota: (Non sempre necessario):

sudo chmod 777 (remote folder) 

Risposta

questo sembra essere un problema di autorizzazione

Il file potrebbe non disporre delle autorizzazioni di lettura poiché viene consegnato al server di destinazione come account di origine.

devi assicurarti che il file allorigine abbia i permessi richiesti, in particolare i permessi di lettura

-rw-r – r–

chmod 744

quindi scp il file a destinazione. Questo verrà risolto

Commenti

  • -rw-r--r-- è 644, non 744. Impostazione dellautorizzazione eseguibile su un file che non è effettivamente eseguibile può causare problemi.

Risposta

Hai gli argomenti per scp invertito.È prima la sorgente, poi la destinazione, ad esempio cp. man scp per ulteriori dettagli.

Risposta

Come ha sottolineato Jinzai, la cartella remota può essere di proprietà del root. Nel mio caso, qualcuno (o qualcosa) ha cambiato il proprietario della cartella home dellutente radicare. Quindi, quando ho provato a inviare un file a un server remoto, si è verificato un errore di autorizzazione negata.

Puoi controllare il proprietario della cartella con il comando ls -l :

drwxr-xr-x 5 root root 4096 Oct 21 08:16 user2

Nellesempio sopra, la cartella user2 è di proprietà di root. Puoi cambiare il proprietario in questo modo:

chown user2:user2 user2

Cè anche un modo più veloce per verificare se il server sta bloccando un file scp o no. Prova a creare un file nella cartella di destinazione, ad esempio con touch test_file. Se non puoi creare un file nella cartella, non sarai in grado di inviare il file qui da remoto dallo stesso utente.

Risposta

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

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

Questo copierà nella tua home directory sul server.

Funzionerà anche :

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

Risposta

AMI Amazon Linux

Assicurati di impostare il percorso del server assoluto, da home nel caso corrente:

scp file.txt SSH-ALIAS:/home/YOUR_USER/ 

Risposta

Installa uno strumento Windows” mRemoteG “da www.mremoteng.org/

Crea la tua connessione SSH nella casella desiderata.

Fai clic sul menu “Trasferisci file”.

Permetterà di trasferire facilmente i file da Windows a Linux.

grazie.

Risposta

Gli stessi permessi si applicano su entrambi i lati di scp. Riceverai questo errore se lutente non dispone dellautorizzazione per scrivere nella destinazione. I sintomi sembrano implicare la fonte, tuttavia nel mio caso la destinazione è stata creata da root e mancava lautorizzazione di scrittura per laccount utente previsto.

Risposta

Nel mio caso, ho anche provato a concedere tutte le autorizzazioni con -R alla cartella, ma ho ancora ricevuto lerrore sullautorizzazione.

Ho dovuto rimuovere “/” prima del percorso del server e della cartella di destinazione. Il motivo è perché Download è la prima cartella che posso elencare dopo aver eseguito ssh sul server, ad esempio: ssh [email protected]

Funziona:

sudo scp -rp /Users/macintosh.vn/Downloads/bbhs_20190301.zip [email protected]: Download

Non funzionava:

sudo scp -rp /Users/macintosh.vn/Downloads /bbhs_20190301.zip [email protected]: / Download

Risposta

Soluzione facile. Assicurati di essere root. SCP al telecomando e ti chiederà la password di root di quella macchina. Ho appena avuto questo problema che era la soluzione. Li esegui come root.

Commenti

  • Poiché i login di root sono normalmente disabilitati in sshd_config , dovresti mostrare allOP come per cambiarlo (anche se ‘ non è consigliato).
  • Perché insisti a usare root per copiare un (qualsiasi) file? Nota anche la risposta accettata di circa 7 anni fa …

Risposta

prima di utilizzare il comando scp, make assicurati di concedere le autorizzazioni di lettura, scrittura ed esecuzione a tutti allesterno. “chmod 777 nome_file”

Commenti

  • puoi copiare file che non sono 777

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *