Re: [OeSC-Livre] Executar programas no Windows através de SSH em um servidor Linux

113 views
Skip to first unread message

Fabio Olive Leite

unread,
Jul 24, 2012, 4:20:12 PM7/24/12
to oesc-...@googlegroups.com
Oi Rafael!

On 2012-07-23 Rafael Hoppe wrote:
>
> Pessoal, não sei se é oportuno perguntar aqui, ou se existe uma outra
> área para isso,

Sim, a lista é sempre o melhor local para qualquer pergunta técnica que
envolva software livre. Eu inclusive não entendo porque é que o pessoal
tem esse receio de perguntar! Ei, vocês! Perguntem aqui! :)

> porém estou com uma dificuldade, e como tenho a algum tempo
> acompanhado vocês aqui, quem sabe possam me auxiliar, estou
> precisando que através de um servidor linux (ubuntu server 12.04)
> criar usuários no AD de um windows server 2008, (o script feito em
> power shell que faz isso já está no Server 2008) nesse eu instalei o
> Cygwin com o openSSH, dessa forma consigo fazer o servidor linux
> acessar através de um shell script, não sei se é a maneira mais
> correta, mas foi o que consegui devido a minha pouca experiência,

Me parece que rodar um servidor openssh no Windows é realmente a melhor
e mais segura maneira de fazer isso. Estás no caminho certo!

> consigo criar pastas, remover, mas quando vou executar um script por
> exemplo, ele tenta executar no servidor linux e não no windows como
> deveria, (como acontece com as pastas), alguém já precisou algo
> parecido ou tem alguma dica.

Quais são os comandos que estás executando para criar pastas e para
chamar o script? Em princípio se um funciona o outro tem que funcionar
também, visto que tudo é um comando a ser executado no server.

Por exemplo, se eu quero criar um diretório no meu servidor loki, eu
rodo "ssh olive@loki mkdir /srv/www/teste" (note que neste caso o meu
usuário tem permissão pra isso lá). Se eu quiser rodar um script lá no
servidor, chamado teste.sh, eu rodaria "ssh olive@loki teste.sh". Não
tem erro, vais sempre chamar da mesma forma.

Manda os comandos e os resultados ou erros aqui por email, que a gente
ajuda a encontrar o problema.

Abraço!
Fábio Olivé
--
[[ Fábio Olivé Leite, olive, FabioOlive ]]
TcheLinux.org, OeSC-Livre.org, Chapecó, SC
ex sed lex awk yacc, e pluribus unix, amem

Jones Muneron

unread,
Jul 24, 2012, 4:56:30 PM7/24/12
to oesc-...@googlegroups.com
Uma questão interessante que o Fábio falou, foi que o usuário tem permissão p/ executar o comando, então precisa ver também se o seu usuário tem as permissões corretas lá no server que tem o AD.

Atenciosamente,
Jones Muneron

Site do OeSC-Livre
http://www.oesc-livre.org/
------------------------------------------------




2012/7/24 Fabio Olive Leite <fabio...@gmail.com>

--
Mensagem enviada para <http://groups.google.com/group/oesc-livre>

Sanderson Mireski

unread,
Jul 25, 2012, 6:10:18 PM7/25/12
to oesc-...@googlegroups.com
Boa Noite Rafael,

O AD do 2008 é um servidor LDAP disfarçado, todo e qualquer alteração pode ser feita pelo LDAP.

Para testar usa o LDAP Admin (http://www.ldapadmin.org/) e aponta para seu servidor AD, usa o login e senha de Administrador, não esquece do firewall do servidor.

Bem, se é LDAP e o AD usa estas informaçoes, entendo eu que se você escrever da maneira correta os objetos, deve funcionar.

Espero ter ajudado.

Att.
Sanderson


Date: Wed, 25 Jul 2012 12:48:02 -0700
From: raf...@gmail.com
To: oesc-...@googlegroups.com
Subject: Re: [OeSC-Livre] Executar programas no Windows através de SSH em um servidor Linux

Opa, 

Deixa eu tentar explicar exatamente o que eu estou tentando fazer:
Preciso criar uma sisteminha simples, onde eu possibilite criar e alterar usuários e grupos do Active Directory do Windows Server 2008, e como o controle do squid, iptables já é feito através de uma interfase web, pretendo adicionar a ela.
A manipulação dos usuários, grupos eu consigo fazer através do PowerShell, são esses arquivos que eu preciso executar através do SSH.
Quanto as permissões, o Cygwin vincula os usuários do Windows, estou acessando como Administrador, por tanto a partir do servidor web (linux): # ssh Administrador@SvrAD mkdir pastaTeste ~ funciona perfeitamente, agora, quando executo por exemplo: # ssh Administrador@SvrAD powershell .\addUserAD.ps1 ele apresenta erro no script, dizendo que "addUserAD.ps1 não é um cmdlet reconhecido etc.." esse mesmo comando executado no CMD: c:\>powershell .\addUserAD.ps1 ~ funciona normalmente.
Tentei o mesmo através de Telnet, o problema ocorre da mesma forma.
Compliquei? rsrs

Obrigado,
Rafael

Robert Mauro Lang

unread,
Jul 25, 2012, 8:41:49 PM7/25/12
to oesc-...@googlegroups.com
Eu tenho algo parecido rodando em uma empresa que é simplesmente usar
o Remote Desktop / Windows Terminal Service configurando a conta no Win Server 2003
para executar diretamente um programa específico sem acessar o Desktop, ou mesmo
o Servidor. Todos os micros que acessam o servidor são ubuntu desktop rodando um
atalho pro tsclient que acessa diretamente o que precisa acessar (e só isso) no servidor.
Isso resolveu inúmeros problemas pra mim, principalmente o das estações pegarem
viroses. A única forma de pegar vírus e que já ocorreu por 2x é a empresa que
mantem o software (em Delphi) levar junto em um pendrive e infectar o servidor.
No mais, funciona tranquilo. Cada usuario tem os links na área de trabalho, já
com o servidor/usuário/senha, pre configurados. E no windows (argh), nas contas 
específicas está forçando a execução do que precisa executar.
Ficou muito bom. Os acessos linux conectam o windows server 2003, em uma VM do
VMWare ESXi. Isso é bem simples de fazer, não sei se a ideia ajuda em algo, hehehe.

Abraços,

Robert


Em 23 de julho de 2012 10:29, Rafael Hoppe <raf...@gmail.com> escreveu:
Bom dia,

Pessoal, não sei se é oportuno perguntar aqui, ou se existe uma outra área para isso, porém estou com uma dificuldade, e como tenho a algum tempo acompanhado vocês aqui, quem sabe possam me auxiliar, estou precisando que através de um servidor linux (ubuntu server 12.04) criar usuários no AD de um windows server 2008, (o script feito em power shell que faz isso já está no Server 2008) nesse eu instalei o Cygwin com o openSSH, dessa forma consigo fazer o servidor linux acessar através de um shell script, não sei se é a maneira mais correta, mas foi o que consegui devido a minha pouca experiência, consigo criar pastas, remover, mas quando vou executar um script por exemplo, ele tenta executar no servidor linux e não no windows como deveria, (como acontece com as pastas), alguém já precisou algo parecido ou tem alguma dica.
Se aqui não for área de perguntas, alguém pode me indicar onde posso faze-la?

Fico no aguardo também da data do evento em Caçador.

Obrigado,

Rafael Hoppe

unread,
Jul 26, 2012, 10:07:50 AM7/26/12
to oesc-...@googlegroups.com
Olá Sanderson,

Obrigado pela resposta, já consegui entender a lógica do funcionamento, e acho que encontrei algo que pode ser o que estou precisando em ( http://sourceforge.net/projects/adldap/ ) vou verificar hoje, se funcionando ou não, volto a escrever.

Att.
Rafael

Rafael Hoppe

unread,
Jul 26, 2012, 10:16:53 AM7/26/12
to oesc-...@googlegroups.com
Olá Robert,

É basicamente o seu caso o meu cenário, mas o que estou precisando é "facilitar a vida" rsrs, eu preciso disponibilizar para um usuário (que não tenha conhecimentos em servidor) criar contas de usuários no AD (e por questões de segurança, não fornecer um administrador), disponibilizando essa possibilidade de uma forma bem simples/intuitiva.

Att.
Rafael

Rafael Hoppe

unread,
Jul 28, 2012, 10:13:54 AM7/28/12
to oesc-...@googlegroups.com
Olá pessoal,
Somente para encerrar o assunto, ainda meio que sem tempo, fiz uns testes, mas já consegui o que eu precisava, de uma forma muito simples, através do módulo LDAP do PHP (# apt-get install php5-ldap), ou seja, sem toda aquela minha primeira ideia de conectar remotamente e executar PowerShell Scripts, e também o projeto adLDAP foi muito útil, pois existem várias classes e exemplos prontos, agora só adaptar, seguem os links:

Obrigado a todos que se manifestaram, estou de olho na lista, o que puder ajudar estou a disposição,
Abraço
Rafael

Fabio Olive Leite

unread,
Aug 9, 2012, 9:30:00 AM8/9/12
to oesc-...@googlegroups.com
Olá!

Estive meio afastado dos emails, mas agora revendo a mensagem acabei
tendo outra idéia sobre esse problema.

On 2012-07-25 Rafael Hoppe wrote:
>
> (linux): # ssh Administrador@SvrAD mkdir pastaTeste
> funciona perfeitamente,

Legal, então o SSH em si e as permissçoes estão corretas.

> agora, quando executo por exemplo:
> # ssh Administrador@SvrAD powershell .\addUserAD.ps1
> ele apresenta erro no script, dizendo que "addUserAD.ps1 não é um
> cmdlet reconhecido etc.."

O teu problema pode ser tão e simplesmente a \. ;) Em um shell Unix (e
Linux), a contra-barra é interpretada como um caracter de escape, para
introduzir caracteres especiais. Talvez se tu rodar o comando nas
formas abaixo funcione. :)

# ssh Administrador@SvrAD powershell '.\addUserAD.ps1'
ou
# ssh Administrador@SvrAD powershell .\\addUserAD.ps1

Usando apóstrofos ('') o shell no Linux não vai interpretar a \ como
caracter de escape, e usando \\ ele substitui por uma barra só.

Espero que ajude!

Rafael Hoppe

unread,
Aug 9, 2012, 3:01:21 PM8/9/12
to oesc-...@googlegroups.com
Olá Fábio, tudo tranquilo?

Postei hoje pela manhã a resposta, agora não encontrei, vou escrever novamente, assim.. achei um pouco complicado essa forma de se comunicar, ainda mais depois que descobri que existia uma extensão do php que faria pra mim a conexão direta com meu AD, e então poderia fazer tudo de uma forma mais prática, estou conseguindo buscar do AD todas informações que preciso, porém não conseguindo escrever nele (cria usuários, alterar senhas.. etc) por que o Server 2008 apenas permite fazer isso usando SSL, e é essa minha dificuldade atual, fazer o Apache reconhecer o certificado que emiti no Server 2008, mas nada que mais algumas horas de pesquisa não possa resolver rsrs..

Estou usando a extensão php5-ldap, e a classe  http://adldap.sourceforge.net/ 

Mesmo assim muito obrigado pela ajuda.

Abraço
Rafael
Reply all
Reply to author
Forward
0 new messages