FAQ
Túnel SSH com MobaXterm (Windows)
Transferência de arquivos entre lince2, aguia4, aguia3 e seu micro com linux
O exemplo a seguir é para a lince2. Substitua “lince2” por “aguia4” ou “aguia3” conforme o caso.
No linux, para copiar arquivos da lince2 para seu micro você precisa ter, em seu linux local, um arquivo que está na shark para depois executar o comando para transferir arquivos. Este arquivo é sua senha e vai ser usado no comando scp. No item 1) você transfere este arquivo para seu micro, no item 2) você abre o túnel e no item 3) você efetua a cópia.
1) Copie para seu diretório local o arquivo /home/seu_login/.ssh/id_ed25519 que está na shark (ele é sua chave privada e deve ser protegida de forma que outros usuários não tenham acesso) com os seguintes comandos que você executa no seu linux local:
cd diretório_local_do_seu_linux
scp seu_login@shark.hpc.usp.br:/home/seu_login/.ssh/id_ed25519 .
o ponto “.” no final do comando indica que o arquivo será copiado para seu diretório corrente no seu linux. Proteja este arquivo com o seguinte comando:
chmod 700 ./id_ed25519
2) Em um terminal no seu linux abra o túnel digitando sua senha única:
ssh -X -2 -L 8020:lince2:22 seu_login@shark.hpc.usp.br
3) Deixe este terminal aberto e, em outro terminal no seu linux, execute o comando:
scp -r -P 8020 -i ./id_ed25519 seu_login@localhost:/scratch/seu_login/diretorio_fonte .
O “-i ./id_ed25519” é a sua “senha” para fazer a conexão com a lince2, e o ponto “.” no final do comando indica que os arquivos da lince2 serão copiados para seu diretório corrente em seu linux local. A palavra “localhost” deixe assim mesmo.
Tudo isso só vai funcionar se a sua versão do ssh ser acima de 7. Para saber a versão do seu ssh, execute o comando “ssh -V”.
Outra idéia é você, a partir da lince2, executar o comando scp enviando os arquivos da lince2 para seu micro local, sem utilizar o túnel pela shark. A partir da lince2, execute comandos como:
cd /scratch/seu_login/arquivos_origem
scp -r * ip.do.seu.micro:/seu-diretorio
Caso queira enviar arquivos do seu micro para a lince2, inverta a ordem dos parâmetros no comando scp, pois a sintaxe do comando scp é “scp origem destino”.
-
Acesso SSH/SFTP usando bastion host:
Bastaria adicionar o conteúdo abaixo no final do /etc/ssh/ssh_config no seu linux, substituindo os negritos quando pertinente. A chave pública deve estar no seu ~/.ssh.authorized_keys das máquinas de destino.
Host shark.hpc.usp.br
User SEU_LOGIN
IdentityFile ~/.ssh/id_ed25519
ControlMaster auto
ControlPath ~/.ssh/cm_socket-%r@%h:%p
Host lince.hpc.usp.br
User SEU_LOGIN
IdentityFile ~/.ssh/id_ed25519
ProxyCommand ssh SEU_LOGIN@shark.hpc.usp.br -W %h:%p
ServerAliveInterval 240
Host lince2.hpc.usp.br
User SEU_LOGIN
IdentityFile ~/.ssh/id_ed25519
ProxyCommand ssh SEU_LOGIN@shark.hpc.usp.br -W %h:%p
ServerAliveInterval 240
Host aguia3.hpc.usp.br
User SEU_LOGIN
IdentityFile ~/.ssh/id_ed25519
ProxyCommand ssh SEU_LOGIN@shark.hpc.usp.br -W %h:%p
ServerAliveInterval 240
Binding/Pinning cpus to processHost aguia4.hpc.usp.br
User SEU_LOGIN
IdentityFile ~/.ssh/id_ed25519
ProxyCommand ssh SEU_LOGIN@shark.hpc.usp.br -W %h:%p
ServerAliveInterval 240