Como usar o SSH (comandos ssh e rsync)?

42

Como posso usar o SSH com um servidor remoto para poder procurar arquivos e editá-los? Eu tenho um nome de usuário e senha para usar.

    
por el_pup_le 25.08.2011 / 02:27

6 respostas

48
O

SSH vem por padrão em todas as versões do Ubuntu, então você economiza para ter que instalá-lo (+1 para que ele já esteja lá;))

Exceto, é claro, no caso em que você deseja um servidor SSH para o seu servidor Ubuntu. Nesse caso, você faria

sudo apt-get install openssh-server 

que deve deixar seu computador / servidor pronto para ser um servidor ssh.

Para usá-lo é bastante fácil:

ssh USER@SITE por exemplo, se meu nome de usuário for cyrex e o site for ubuntu.com , você faria isso:

ssh [email protected]

Agora vamos dizer que você quer copiar um arquivo chamado bubblegum.txt do seu computador para o seu site ubuntu e deseja deixar esse arquivo na pasta /var/www no site do ubuntu. você pode fazer isso (assumindo que seu usuário tenha permissões suficientes no site do ubuntu) usando o Brother do SSH, SCP (que também vem por padrão no Ubuntu):

scp bubblegum.txt [email protected]:/var/www 

Observe o : entre o USER @ SITE e a pasta onde você deseja copiá-lo. É o que separa os dois elementos.

Agora vamos dizer que você está enviando algum arquivo enorme com scp e, em seguida, o pior acontece, o mundo explode. Como você pode continuar fazendo o upload desse arquivo para o servidor? Então você tem o irmão mais velho do SCP, rsync (vem por padrão no Ubuntu). De muitas maneiras, o scp e o rsync fazem a mesma coisa, mas aqui estão algumas grandes diferenças entre eles:

  • O rsync pode fazer upload de arquivos parciais do rsync ou scp depois de uma desconexão ou domínio mundial.
  • O rsync pode mostrar o progresso muito melhor do que o scp
  • O rsync pode otimizar o upload de maneira que você possa economizar segundos ou minutos no upload. Também mostra no final do upload o quanto você salvou.

De qualquer forma, no caso de o scp não poder carregar o arquivo inteiro, é onde o rsync entra para resgatar. (Obrigado a Marco Ceppi pela dica. Vote no comentário dele se você gosta de gatos ... e / ou cachorros)

Digamos que você fez a menção de upload acima do scp e chegou a 60%. Como você pode continuar nesse 60% sem perder seu tempo para o upload. Você faria isso:

rsync --progress --partial bubblegum.txt [email protected]:/var/www  

Isso diz ao rsync para mostrar o progresso de uma maneira legível e humana com o --progress flag. Ele também informa ao rsync para verificar e continuar de onde o arquivo bubblegum.txt chegou com o sinalizador --partial . Você também pode simplificar a quantia para escrever com o parâmetro -P, que é o mesmo que --progress e --partial, portanto, o seguinte ficaria assim:

rsync -P bubblegum.txt [email protected]:/var/www  

Você pode até mesmo carregar o CTRL + C e retomá-lo fazendo o comando do rsync acima. Muito legal ter a capacidade de retomar algo a qualquer momento, qualquer quantidade de vezes.

Para mais informações sobre rsync , que vem por padrão com o Ubuntu, você pode digitar os seguintes comandos do terminal:

man rsync  
info rsync  
rsync --help

Agora, especifique uma porta para o SSH. Para especificá-lo, você pode fazer assim:

ssh [email protected] -p PORT . Por exemplo: ssh [email protected] -p 1234 para dizer a ele para usar a porta 1234 para o serviço SSH. Isso precisa ser configurado no servidor primeiro para funcionar.

Para configurá-lo basta abrir no servidor o arquivo ssh_config assim: nano /etc/ssh/ssh_config e alterar a linha que diz # port 22 para outra porta. Lembre-se também de remover o comentário dessa linha. Deve ficar assim: port 1234 no caso do exemplo acima.

Agora apenas reinicie o serviço ssh no servidor e pronto. Para reiniciar o serviço, faça o seguinte:

sudo restart ssh

ou

sudo /etc/init.d/ssh restart

NOTA - Você também pode usar o SSH a partir de ferramentas GUI como filezilla , que oferecem a opção de usar o ssh em vez do ftp. O ssh também pode ser acessado no menu do Ubuntu:

quedáacessoaváriasopções,incluindocompartilhamentodoWindows,SSHeFTP:

Para mais informações sobre o SSH, você pode usar um dos seguintes comandos no console em sua caixa do Ubuntu:

man ssh  
info ssh  
ssh --help
    
por Luis Alvarado 25.08.2011 / 02:47
23

Se você quiser navegar no servidor por meio do Nautilus, como acontece com arquivos em sua máquina local:

  1. Abra o Nautilus ("Pasta inicial")
  2. Vá para "Arquivo" - > "Conectar ao servidor"

  3. Selecione"SSH" em "Tipo de serviço"

  4. Coloque o endereço IP ou o domínio em "Servidor"

  5. Adicioneseunomedeusuárioemarque"Adicionar favorito" se quiser que o local seja salvo em seus favoritos.

A pasta deve abrir para você.

    
por jamesadney 25.08.2011 / 02:56
6

Você pode usar sshfs para montar um diretório remoto em seu sistema de arquivos local.

Veja o link :

Uso da linha de comando

Agora, supondo que você tenha um servidor SSH em execução em uma máquina remota, basta executar o comando SSHFS para montar o diretório remoto. Neste exemplo, o diretório remoto é / projects no host remoto agora. O ponto de montagem local é ~ / far_projects.

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

Para desmontar,

fusermount -u ~/far_projects

Para adicioná-lo ao seu / etc / fstab,

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

Observe que você precisa alterar $ USER para seu nome de login ao editar fstab, mas não é necessário ao digitar comandos (o shell faz isso para você nesse caso).

    
por Stacey Richards 29.08.2011 / 23:39
4

Supondo que o servidor ssh já esteja configurado, abra um terminal e digite:

ssh username@hostname

Você será solicitado a fornecer sua senha; apenas entre. Se você precisar de um número de porta, adicione -p PORTNUM .

    
por Dang Khoa 25.08.2011 / 02:29
2

Se você pode usar o Vim, Pico ou etc, você pode usar o terminal:

ssh [email protected]

Digite sua senha, e você está dentro De lá, é como um terminal regular, exceto que você não tem GUI.

Note que você pode adicionar a opção '-X', e se seu servidor tiver um servidor X configurado, você pode executar programas GUI. Basta digitar o nome deles se você adicionou -X e ele iniciará uma janela da GUI.

Agora, você provavelmente desejará configurar o login sem senha. Se você já não tem chave, digite ssh-keygen e aperte enter em todos os padrões. Então faça ssh-copy-id [email protected] . Feito isso, basta digitar ssh [email protected] e você não precisa digitar sua senha!

Se o seu nome de usuário for igual ao nome de usuário do seu laptop, você não precisará de MYUSER@ . Você pode apenas fazer ssh mysite.com . Você também pode usar a opção -l MYUSER em vez de MYUSER@

Se você quiser uma GUI, o Nautilus pode fazer isso. Arquivo -> Conecte-se ao Servidor -> [selecione 'SSH' e preencha os detalhes de login] -> Conectar.

Se você quiser apenas copiar um único arquivo, use scp [cópia segura].% scp [email protected]:path/to/file.dat ./

Isto copia o arquivo "~ / path / to / file.dat" para o diretório atual. Observe que, se você não tiver uma barra ou til após o : , ele funcionará como se estivesse em seu diretório pessoal [ ~/ ]. Se você deseja fazer o upload, scp ./local_file.dat [email protected]: Isso vai colocá-lo em seu diretório home.

    
por Matt 25.08.2011 / 15:35
0

ssh -X -C user@host nautilus --no-desktop para entrar no modo gui:)

    
por morgie 25.08.2011 / 14:34

Tags