Come usare SSH (comandi ssh & rsync)?


44

Come posso SSH con un server remoto in modo da poter sfogliare i file e modificarli? Ho un nome utente e una password da usare.

Risposte:


49

SSH è disponibile di default in tutte le versioni di Ubuntu, quindi risparmi nel doverlo installare (+1 per averlo già lì;))

Tranne ovviamente nel caso in cui si desideri un server SSH per il proprio server Ubuntu. In tal caso lo faresti

sudo apt-get install openssh-server 

che dovrebbe rendere il tuo computer / server pronto per essere un server SSH.

Per usarlo è abbastanza facile:

ssh USER@SITEad esempio se il mio nome utente è cyrex e il sito è ubuntu.com, allora dovresti farlo:

ssh cyrex@ubuntu.com

Ora diciamo che vuoi copiare un file chiamato bubblegum.txtdal tuo computer sul tuo sito Ubuntu e vuoi lasciare quel file nella /var/wwwcartella del sito Ubuntu. puoi farlo (supponendo che il tuo utente disponga di autorizzazioni sufficienti nel sito di Ubuntu) usando Brother SSH, SCP (che arriva anche di default in Ubuntu):

scp bubblegum.txt cyrex@ubuntu.com:/var/www 

Notare :tra USER @ SITE e la cartella in cui si desidera copiarlo. È quello che separa entrambi gli elementi.

Ora diciamo che stai caricando alcuni file di grandi dimensioni con scp e poi succede il peggio, il mondo esplode. Come continuare a caricare quel file sul server. Quindi hai il fratello maggiore di SCP, rsync (arriva di default in Ubuntu). In molti modi scp e rsync fanno la stessa cosa, ma qui ci sono alcune grandi differenze:

  • rsync può caricare file parziali lasciati da rsync o scp dopo una disconnessione o dominio del mondo.
  • rsync può mostrare i progressi molto meglio di scp
  • rsync può ottimizzare il caricamento in modo tale da poter effettivamente risparmiare secondi o minuti sul caricamento. Mostra anche alla fine del caricamento quanto hai salvato.

Ad ogni modo, nel caso in cui scp non potesse caricare l'intero file, è qui che rsync entra in soccorso. (Grazie a Marco Ceppi per l'informazione. Vota il suo commento se ti piacciono i gatti .. e / o i cani)

Supponiamo che tu abbia menzionato il caricamento sopra da scp e sia arrivato al 60%. Come puoi continuare con quel 60% senza perdere tempo per il caricamento. Faresti questo:

rsync --progress --partial bubblegum.txt cyrex@ubuntu.com:/var/www  

Questo dice a rsync di mostrare i progressi in un bel modo leggibile dall'uomo con la --progressbandiera. Indica anche a rsync di controllare e continuare da dove il file bubblegum.txt è arrivato con il --partialflag. Puoi anche semplificare la quantità da scrivere con il parametro -P che è lo stesso di --progress e --partial, quindi quanto sopra sarebbe simile a questo:

rsync -P bubblegum.txt cyrex@ubuntu.com:/var/www  

Puoi anche CTRL+ Ccaricare e riprenderlo eseguendo il comando da rsync sopra. Molto bello avere la possibilità di riprendere qualcosa in qualsiasi momento in qualsiasi momento.

Per maggiori informazioni su rsync, che viene fornito di default con Ubuntu, puoi digitare i seguenti comandi del terminale:

man rsync  
info rsync  
rsync --help

Ora per specificare una porta per SSH. Per specificarlo puoi farlo in questo modo:

ssh cyrex@ubuntu.com -p PORT. Ad esempio: ssh cyrex@ubuntu.com -p 1234per dirgli di usare la porta 1234 per il servizio SSH. Questo deve essere configurato prima nel server affinché funzioni.

Per configurarlo basta aprire nel server il file ssh_config in questo modo: nano /etc/ssh/ssh_confige cambiare la linea che dice # port 22ad un'altra porta. Ricorda anche di rimuovere il commento da quella riga. Dovrebbe apparire così: port 1234nel caso dell'esempio sopra.

Ora basta riavviare il servizio ssh nel server e il gioco è fatto. Per riavviare il servizio basta fare questo:

sudo restart ssh

o

sudo /etc/init.d/ssh restart

NOTA: è anche possibile utilizzare SSH dagli strumenti della GUI come quelli filezillache offrono l'opzione di usare ssh invece di ftp. È possibile accedere a ssh anche dal menu Ubuntu:

inserisci qui la descrizione dell'immagine

che dà accesso a diverse opzioni tra cui Windows share, SSH e FTP :

inserisci qui la descrizione dell'immagine

Per ulteriori informazioni su SSH è possibile utilizzare uno dei seguenti comandi nella console nella casella Ubuntu:

man ssh  
info ssh  
ssh --help

A cosa ti riferisci per scusarti?
Luis Alvarado,

23

Se vuoi navigare nel server attraverso Nautilus come fai con i file sul tuo computer locale:

  1. Apri Nautilus ("Cartella principale")
  2. Vai a "File" -> "Connetti al server"

    Connetti al server

  3. Seleziona "SSH" in "Tipo di servizio"

  4. Inserisci l'indirizzo IP o il dominio in "Server"

    Seleziona SSH

  5. Aggiungi il tuo nome utente e seleziona "Aggiungi segnalibro" se desideri che la posizione venga salvata nei tuoi segnalibri.

La cartella dovrebbe aprirsi per te.


Su Kubuntu si può fare lo stesso con Krusader .
Adobe,

6

È possibile utilizzare sshfsper montare una directory remota sul file system locale.

Vedi https://help.ubuntu.com/community/SSHFS :

Utilizzo da riga di comando

Ora, supponendo che tu abbia un server SSH in esecuzione su un computer remoto, esegui semplicemente il comando SSHFS per montare la directory remota. In questo esempio, la directory remota è / progetti sull'host remoto lontano. Il punto di montaggio locale è ~ / far_projects.

mkdir ~/far_projects
sshfs -o idmap=user $USER@far:/projects ~/far_projects

Per smontare,

fusermount -u ~/far_projects

Per aggiungerlo al tuo / etc / fstab,

sshfs#$USER@far:/projects /home/$USER/far_projects fuse defaults,idmap=user 0 0

Nota che devi modificare $ USER con il tuo nome di accesso quando modifichi fstab, ma non è necessario quando si digitano i comandi (la shell lo fa per te in quel caso).


4

Supponendo che il server SSH sia già impostato, aprire un terminale e digitare:

ssh username@hostname

Ti verrà richiesta la password; basta inserirlo. Se è necessario un numero di porta, aggiungere -p PORTNUM.


2

Se è possibile utilizzare Vim, Pico o ecc., È possibile utilizzare il terminale:

ssh MYUSER@mysite.com

Inserisci la tua password e sei dentro. Da lì, è proprio come un normale terminale, tranne che non hai una GUI.

Nota, puoi aggiungere l'opzione '-X' e se il tuo server ha un server X configurato, puoi eseguire programmi GUI. Digita il loro nome se hai aggiunto -X e avvierà una finestra della GUI.

Ora, probabilmente vorrai configurare l'accesso senza password. Se non hai già una chiave, digita ssh-keygene premi Invio per tutte le impostazioni predefinite. Allora fallo ssh-copy-id MYUSER@mysite.com. Una volta fatto, basta digitare ssh MYUSER@mysite.come non è necessario inserire la password!

Se il tuo nome utente è uguale al nome utente del tuo laptop, non è necessario MYUSER@. Puoi solo fare ssh mysite.com. Puoi anche usare l' -l MYUSERopzione invece diMYUSER@

Se vuoi una GUI, Nautilus può farlo. File ->Connetti al server ->[seleziona 'SSH', quindi inserisci i dettagli di accesso] -> Connetti.

Se vuoi semplicemente copiare un singolo file, usa scp [copia sicura].
scp MYUSER@mysite.com:path/to/file.dat ./

Questo copia il file "~ / path / in / file.dat" nella directory corrente. Nota, se non hai una barra o una tilde dopo :, agirà come se fossi nella tua home directory [ ~/]. Se vuoi caricare, scp ./local_file.dat MYUSER@mysite.com: questo lo inserirà nella tua home directory.


0

ssh -X -C user@host nautilus --no-desktop per andare in modalità gui :)


Il Nautilus locale può semplicemente connettersi a una condivisione SSH. Non è necessario eseguire Nautilus in remoto. In realtà non consiglierei di farlo. Suggerimento creativo, ma comunque -1
Jo-Erlend Schinstad,
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.