sexta-feira, 12 de fevereiro de 2010

Acesso Remoto

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

in reference to: http://www.fisica.ufc.br/rede/acesso/ (view on Google Sidewiki)

Nenhum comentário:

Postar um comentário