Respostas:
O SSH vem por padrão em todas as versões do Ubuntu, assim você economiza em ter que instalá-lo (+1 por tê-lo já lá;))
Exceto, é claro, no caso em que você deseja um servidor SSH para o seu servidor Ubuntu. Nesse caso, você
sudo apt-get install openssh-server
o 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 , faça o seguinte:
ssh cyrex@ubuntu.com
Agora, digamos que você deseja copiar um arquivo chamado bubblegum.txt
do seu computador para o site do Ubuntu e deseja deixá-lo na /var/www
pasta do site do Ubuntu. você pode fazer isso (supondo que seu usuário tenha permissões suficientes no site do Ubuntu) usando o irmão do SSH, SCP (que também vem por padrão no Ubuntu):
scp bubblegum.txt cyrex@ubuntu.com:/var/www
Observe o :
entre o USER @ SITE e a pasta onde você deseja copiá-lo. É o que separa os dois elementos.
Agora, digamos que você esteja carregando um arquivo enorme com o scp e, em seguida, o pior acontece, o mundo explode. Como você pode continuar carregando esse arquivo no servidor. Então você tem o irmão mais velho do SCP, rsync (vem por padrão no Ubuntu). De muitas maneiras, scp e rsync fazem a mesma coisa, mas aqui estão algumas grandes diferenças entre eles:
De qualquer forma, no caso do scp não conseguir carregar o arquivo inteiro, é aqui que o rsync entra para resgatar. (Obrigado a Marco Ceppi pela dica. Vote no seu comentário se você gosta de gatos .. e / ou cães)
Digamos que você fez a menção de upload acima do scp e chegou a 60%. Como você pode continuar nesses 60% sem perder o tempo necessário para o upload. Você faria o seguinte:
rsync --progress --partial bubblegum.txt cyrex@ubuntu.com:/var/www
Isso diz ao rsync para mostrar o progresso de uma maneira legível e agradável com a --progress
bandeira. Ele também diz ao rsync para verificar e continuar de onde o arquivo bubblegum.txt chegou com o --partial
sinalizador. Você também pode simplificar a quantidade a ser gravada com o parâmetro -P, que é o mesmo que --progress e --partial, para que o exemplo acima fique assim:
rsync -P bubblegum.txt cyrex@ubuntu.com:/var/www
Você pode até CTRL+ Cfazer o upload e continuar com o comando do rsync acima. É muito legal ter a capacidade de retomar algo a qualquer momento e quantidade de vezes.
Para mais informações sobre o rsync, que vem por padrão com o Ubuntu, você pode digitar os seguintes comandos do terminal:
man rsync
info rsync
rsync --help
Agora, para especificar uma porta para SSH. Para especificá-lo, você pode fazer o seguinte:
ssh cyrex@ubuntu.com -p PORT
. Por exemplo: ssh cyrex@ubuntu.com -p 1234
para dizer para usar a porta 1234 para o serviço SSH. Isso deve ser configurado no servidor primeiro para que ele funcione.
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 basta reiniciar 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 de ferramentas da GUI, como as filezilla
que oferecem a opção de usar ssh em vez de ftp. O ssh também pode ser acessado no menu Ubuntu:
que dá acesso a várias opções, incluindo compartilhamento do Windows, SSH e FTP :
Para mais informações sobre SSH, você pode usar um dos seguintes comandos no console na sua caixa Ubuntu:
man ssh
info ssh
ssh --help
Se você deseja navegar no servidor pelo Nautilus, como faz com os arquivos em sua máquina local:
Vá para "Arquivo" -> "Conectar ao servidor"
Selecione "SSH" em "Tipo de serviço"
Coloque o endereço IP ou o domínio em "Servidor"
Adicione seu nome de usuário e marque "Adicionar favorito" se quiser que o local seja salvo nos seus favoritos.
A pasta deve abrir para você.
Você pode usar sshfs
para montar um diretório remoto no seu sistema de arquivos local.
Veja https://help.ubuntu.com/community/SSHFS :
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ê deve alterar $ USER para seu nome de login ao editar o fstab, mas não é necessário ao digitar comandos (o shell faz isso por você nesse caso).
Se você pode usar o Vim, Pico ou etc, pode usar o terminal:
ssh MYUSER@mysite.com
Digite sua senha e você estará dentro. A partir daí, é como um terminal comum, exceto que você não tem GUI.
Observe que você pode adicionar a opção '-X' e, se o servidor tiver um servidor X configurado, você poderá executar programas GUI. Basta digitar o nome deles se você adicionou -X e ele abrirá uma janela da GUI.
Agora, você provavelmente desejará configurar o login sem senha. Se você ainda não possui uma chave, digite ssh-keygen
e apenas pressione enter para todos os padrões. Então faça ssh-copy-id MYUSER@mysite.com
. Feito isso, basta digitar ssh MYUSER@mysite.com
e você não precisa digitar sua senha!
Se o seu nome de usuário for o mesmo do seu laptop, você não precisará MYUSER@
. Você pode apenas fazer ssh mysite.com
. Você também pode usar a -l MYUSER
opção em vez deMYUSER@
Se você deseja uma GUI, o Nautilus pode fazer isso. Arquivo ->
Conectar ao servidor ->
[selecione 'SSH' e preencha os detalhes de login] ->
Conecte-se.
Se você quiser apenas copiar um único arquivo, use scp [cópia segura].
scp MYUSER@mysite.com:path/to/file.dat ./
Isso copia o arquivo "~ / path / to / file.dat" para o diretório atual. Observe que, se você não tiver uma barra ou um til depois do :
, ele atuará como se estivesse em seu diretório pessoal [ ~/
]. Se você deseja fazer o upload, scp ./local_file.dat MYUSER@mysite.com:
isso o colocará em seu diretório pessoal.
ssh -X -C user@host nautilus --no-desktop
para ir no modo gui :)