Esse post vai pra quem acessa servidores corporativos linux e por isso não possuem interface gráfica.
Meu caso é exatamente esse. Primeiramente vou contar um pouco mais do problema:
O cliente liberou acesso à máquina de produção através do IP da empresa que trabalho. Ou seja, essa máquina só é visível a partir de conexões que saem da empresa que trabalho. No entanto, não quero ter que vir para a empresa sempre que precisar acessar essa máquina de produção para fazer deploy de um sistema.
Logo, coloquei um cliente SSH no celular. Pelo celular me conecto à uma máquina linux da empresa e então estabeleço nova conexão SSH à máquina de produção. Mas normalmente o arquivo que preciso fazer deploy fica em uma pasta de rede (máquina windows). Então, segue o fluxo:
- Efetuar conexão SSH à uma máquina linux da empresa
- Copiar artefato do deploy da máquina da empresa para a máquina de produção
- Acessar máquina de produção
- Fazer o que precisa
Acima tem um diagrama de como a conexão é feita:
- O cliente SSH estabelece conexao com o gateway da empresa através do IP externo (186.246.152.60)
- No gateway há uma regra desviando toda conexão SSH (porta 22) para a máquina interna 192.168.12.50
- Efetua login na máquina de IP final 50 e faz a cópia do arquivo do servidor 192.168.12.83 via scp.
- Faz a copia do artefato para o servidor de produção.
Agora vem o motivo desse post. Estabelecer conexão a partir da máquina 192.168.12.50 (Linux CentOS) com a pasta pública da máquina 192.168.12.83 (Windows) para a cópia do arquivo.
Primeiro precisaremos baixar os pacotes do samba que é o programa que simula um servidor Windows permitindo troca de arquivos em uma rede Microsoft. Como estamos no CentOS, utilizaremos o comando sudo yum install samba-client samba-common cifs-utils.
Agora vamos configurar a pasta publica do windows (192.168.12.83) no linux (192.168.12.50).
Essa configuração é feita no arquivo /etc/fstab conforme mostra a figura abaixo:
No que na ultima linha do arquivo, declaramos que a pasta de rede está na máquina de IP 192.168.12.83 e com nome Pub. Tambem precisamos configurar o usuário e senha que possui acesso à pasta. Demos o identificador /mnt/thiago para essa pasta que é também o local onde ela será montada.
Agora vamos ao Windows para criar, compartilhar e dar permissão à nossa pasta Pub.
A pasta Pub foi criada no C:
- Ir até C:
- Criar pasta Pub
- Clicar com botão direiro em cima da pasta e Propriedades
- Clicar na aba Compartilhamento
- Clicar no botão Compartilhar
Agora selecionaremos os usuários de rede que terão acesso à essa pasta. No meu caso, a máquina Windows pertence ao usuário thiago. Logo não será necessário dar permissão ao usuário thiago pois ele já é proprietário.
Com as permissões configuradas para o usuário thiago, criaremos a pasta /mnt/thiago no linux. Aí basta montarmos a pasta de rede com o comando mount /mnt/thiago. Internamente o linux irá olhar no arquivo /etc/fstab se há algum mapeamento para /mnt/thiago. Ele irá achar a linha que adicionamos ao final do arquivo. Irá tentar acessar atraves do samba o IP com usuario e senha declarados e pronto! Pasta de rede montada no linux.
Qualquer dúvida é só postar aí nos comentários que a gente dá um jeito.
Caso você seja usuário final e queira fazer toda essa integração com a interface gráfica, segue um tuorial muito bem feito: https://www.todoespacoonline. com/w/2015/06/ compartilhamento-de-arquivos- entre-linux-e-windows/
Abraço.