Acesso Remoto
Introdução
Normalmente uma máquina remota (na internet pública) não pode iniciar comunicações com uma máquina interna (na intranet departamental). Isso protege contra ataques diretos - diariamente nosso firewall bloqueia ~50.000 sondagens procurando buracos ou fraquezas para atacar. No entanto, às vezes acesso remoto é útil ou até necessário, particularmente durante uma viagem, para rodar um programa como Fluent, por exemplo, ou para pegar arquivos importantes.
SSH/SFTP SSH/SFTP
| |
| +-SSH-+ +-SSH-+ |
| | | | | |
| :p | :22 | :22
| | | | | |
+----+ +---internet---+ +---intranet-------+
<---remota--->
<-------TÚNEL SSH---------->
<-----------------------------
<---------------CONEXÕES SSH/SFTP------------------>
<-----------------------------
Acesso remoto envolve:
A abertura de um túnel ssh seguro entre a máquina remota e acesso.fisica.ufc.br.
Criptografia assimétrica, em vez de uma senha, é usada para mais segurança durante a abertura. Duas chaves são geradas na máquina remota: a chave secreta é protegida por uma passphrase local; a chave pública é registrada em acesso.fisica.ufc.br, junto com o endereço da máquina externa e o nome da máquina interna que vai ser acessada.
A criação de conexões através do túnel entre a máquina remota e a máquina interna.
As conexões ssh abrem um shell na máquina interna para rodar programas: se um programa precisar de uma interface gráfica (janelas, mouse etc.), esta pode ser transferida para a máquina remota. As conexões sftp transferem arquivos entre as máquinas.
A máquina remota pode rodar Linux (ou outras sistemas da família Unix) ou Windows. A máquina interna precisa ser um servidor de ssh: normalmente Linux é usado.
Instruções para Linux, Solaris, FreeBSD...
Básicas
Use o comando
ssh-keygen -t rsa
para gerar um par de chaves:
uma pública (no arquivo ~/.ssh/id_rsa.pub)
uma secreta (no arquivo ~/.ssh/id_rsa), que deve ser protegida por uma passphrase
(uma frase que você não vai esquecer e que um hacker não vai adivinhar).
Mande um email para Ramos ou Tony com:
sua chave pública (id_rsa.pub);
o endereço IP da máquina remota local;
o nome da máquina interna que pretende acessar.
Depois de receber uma conta (a) na máquina acesso, teste a conectividade com o comando local:
ssh a@acesso.fisica.ufc.br
[devia pedir sua passphrase e mostrar um cabeçalho do departamento de física].
Feche o teste com Ctrl+C.
Para abrir um túnel levando conexões da porta p (por exemplo, 4000) na máquina remota para
a porta 22 (ssh/sftp) na máquina interna i, use o comando:
ssh -L p:i:22 a@acesso.fisica.ufc.br
[o comando "netstat -na" mostra as portas usadas]
A janela (shell) usada para este comando agora só serve para manter o túnel aberto.
Para criar conexões através do túnel para sua conta (b) na máquina interna, abra outras janelas (shells) e use os comandos:
ssh -C -p p b@127.0.0.1 # para abrir um shell
sftp -C -oPort=p b@127.0.0.1 # para transferir arquivos
[obs: o sintaxe para "porta p" varia entre comandos]
Interfaces Gráficas
Depois de abrir o túnel (item 4 acima), as seguintes interfaces gráficas (em vez de textuais) podem ser interessantes.
gftp
Este programa oferece uma interface gráfica local que simplifica a transferência de arquivos por sftp.
Configure o menu FTP|Options|SSH assim:
SSH Extra Params: -C
SSH2 sftp-server path: /usr/lib
Use SSH2 SFTP subsys
Connecte através do túnel assim:
Host: 127.0.0.1
Port: p (de item 4 acima)
User: b (conta na máquina interna)
SSH2 (em vez de FTP)
X11 Forwarding
Para rodar um programa gráfico na máquina interna, é necessário t
sexta-feira, 12 de fevereiro de 2010
Acesso Remoto
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário