Trabalhando remotamente

From VeRLab Wiki
Jump to: navigation, search

A seguir, algumas dicas para quem precisar usar a infraestrutura dos laboratórios de maneira remota.

Se você estiver de fora da rede do DCC (por exemplo, da sua casa e sem usar VPN), é necessário fazer login primeiro na máquina login.dcc.ufmg.br, para depois entrar na máquina específica do laboratório com que se quer trabalhar (e.g., roomba, epona).


Acessando máquinas via SSH (shell)

É possível usar o recurso de jump host do SSH para conectar na máquina desejada (e.g., roomba) passando por outra que esteja no caminho (e.g, login.dcc.ufmg.br).

Em linha de comando, podemos fazer:

ssh -J SEU_USUARIO_DCC@login.dcc.ufmg.br SEU_USUARIO_VERLAB@NOME_DA_MAQUINA.verlab

Por exemplo, para flavioro se conectar à roomba:

ssh -J flavioro@login.dcc.ufmg.br flavioro@roomba.verlab

Ao executar, primeiro será solicitada a senha do usuário do DCC, depois a senha dele no laboratório (se forem diferentes).




Acessando máquinas via SSH (VSCODE)

1. Instale a extensão Remote - SSH em seu VsCode.

2. Clique no ícone Remote Explorer, que se encontra no menu lateral esquerdo.

3. Certifique-se que a opção Remote Explorer esteja setada com Remotes (Tunnels/SSH).

 Remote tunel.png

4. Clique em adicionar nova conexão e copie o seguinte comando na aba de input que irá se abrir:

 ssh -J SEU_USUARIO_DCC@login.dcc.ufmg.br SEU_USUARIO_VERLAB@NOME_DA_MAQUINA.verlab

5. Aperte Enter.

6. Clique no primeiro diretório de arquivo de configuração para criá-lo.

7. Clique em Connect.

 Host add.png

8. Insira suas credenciais (Primeiro a senha do login.dcc e depois a do laboratório).


Acessando máquinas via SFTP (nautilus)

Screenshot do Gnome Files mostrando a aba "+ Outros Locais", que permite o usuário "Conectar a servidor", digitando um endereço SSH (dentre outras formas).

Para fazer transferência de arquivos entre a sua máquina e aquela em que você executou seus experimentos, você pode usar SFTP. O Files (antigo Nautilus) do Gnome tem essa funcionalidade. Você pode testar digitando ssh://SEU_USUARIO_DCC@login.dcc.ufmg.br no campo "Conectar a servidor" e ver que consegue ver os arquivos da sua HOME do DCC (depois de digitar sua senha).


Contudo, não é possível usar a funcionalidade de jump host do SSH tão facilmente pela interface do Files. É necessário configurar o SSH para criar os destinos desejados e, então, acessar usando o nome do destino desejado. Para tanto, vamos precisar:

  1. Abrir (criando ou alterando) o arquivo de configuração do SSH no seu computador
  2. nano ~/.ssh/config
  3. Escrever as configurações para (a) compartilhamento de conexão entre jumps, (b) definir destino da rede DCC, definir 1 novo destino para cada máquina desejada do laboratório:
    ControlMaster auto
    ControlPath   ~/.ssh/control-%h-%p-%r
    Host dcc
      HostName login.dcc.ufmg.br
      User SEU_USUARIO_DCC
    
    Host roomba
      HostName roomba.verlab
      ProxyCommand ssh -W %h:%p dcc
      User SEU_USUARIO_VERLAB
    Host wall-e
      HostName 150.164.212.244
      ProxyCommand ssh -W %h:%p dcc
      User SEU_USUARIO_VERLAB
    Host NOME_DE_UMA_MAQUINA
      HostName NOME_DE_UMA_MAQUINA
      ProxyCommand ssh -W %h:%p dcc
      User SEU_USUARIO_VERLAB
  4. Testar o acesso SSH (shell) para a rede do DCC e para os computadores do laboratório desejados:
    ssh dcc
    # deve pedir sua senha DCC para se conectar à login.dcc.ufmg.br
    ssh roomba
    #deve pedir primeiro a senha DCC, depois a do laboratório
  5. Na interface do Files (antigo nautilus), na aba "+ Outros locais", no campo "Conectar a servidor", digite ssh://NOME_DE_UMA_MAQUINA. Por exemplo:
    ssh://roomba
    • Então, forneça sua senha do DCC
    • Depois do laboratório
    • Será possível visualizar, baixar/subir arquivos para sua HOME na máquina em que entrou:
Screenshot do Gnome Files mostrando a aba "+ Outros Locais" conectada à máquina marvin do laboratório, permitindo transmissão de arquivos.




Terminal para Windows 10/11 fazer SSH, X11 forward e etc

Enhanced terminal for Windows with X11 server, tabbed SSH client, network tools and much more. MobaXterm provides all the important remote network tools (SSH, X11, RDP, VNC, FTP, MOSH, ...) and Unix commands (bash, ls, cat, sed, grep, awk, rsync, ...) to Windows desktop, in a single portable exe file which works out of the box.

Moba-xterm.png

Usando tmux ou byobu: multiplexador de terminais

tmux

Tutoriais e getting started:

Lista de temas e add-ons para o tmux

Configurações básicas para facilitar o uso com mouse

Criar arquivo de configuração do tmux para habilitar o mouse e outras coisas úteis
# Criar arquivo na home do seu usuário chamado .tmux.conf
# nano ~/.tmux.conf
# Inserir as linhas abaixo:

# increase history size
set-option -g history-limit 10000

# start with mouse mode enabled
set-option -g mouse on

# toggle synchronize-panes
unbind y
bind y set-window-option synchronize-panes

# pane navigation, vim style
unbind l
bind -r h select-pane -L  # move left
bind -r j select-pane -D  # move down
bind -r k select-pane -U  # move up
bind -r l select-pane -R  # move right

byobu


Comandos Basicos Linux