<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Matheus Bratfisch &#187; python</title>
	<atom:link href="http://www.matbra.com/tag/python/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.matbra.com</link>
	<description>&#34;Cogito ergo sum&#34;</description>
	<lastBuildDate>Tue, 20 Dec 2011 00:03:21 +0000</lastBuildDate>
	<language>pt</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Conectar ao SSH pelo Python.</title>
		<link>http://www.matbra.com/2009/09/02/conectar-ao-ssh-pelo-python/</link>
		<comments>http://www.matbra.com/2009/09/02/conectar-ao-ssh-pelo-python/#comments</comments>
		<pubDate>Wed, 02 Sep 2009 23:47:00 +0000</pubDate>
		<dc:creator>Matheus (X-warrior) Bratfisch</dc:creator>
				<category><![CDATA[python]]></category>
		<category><![CDATA[pexpect]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://www.matbra.com/?p=415</guid>
		<description><![CDATA[Boa noite, Ontem comentei sobre a utilização do pexpect para executar comandos e se comunicar com eles. Hoje brinquei um pouco mais com essa biblioteca e fiz um exemplo de conexão e enviar o comando &#8216;uptime&#8217; para o servidor. Só um exemplo simples, mas acredito que já da uma idéia de como você pode mexer [...]]]></description>
			<content:encoded><![CDATA[<p>Boa noite,</p>
<p>Ontem comentei sobre a utilização do pexpect para executar comandos e se comunicar com eles. Hoje brinquei um pouco mais com essa biblioteca e fiz um exemplo de conexão e enviar o comando &#8216;uptime&#8217; para o servidor. Só um exemplo simples, mas acredito que já da uma idéia de como você pode mexer com essa biblioteca.</p>
<p>Primeiramente você deve ter a biblioteca pexpect instalada. Você pode obte-la em <a href="http://sourceforge.net/projects/pexpect/" target="_blank">http://sourceforge.net/projects/pexpect/</a> e para instalar você deve digitar</p>
<p>$ sudo python setup.py install</p>
<p>Após a mesma instalada você já pode se divertir. O pequeno script que fiz para testar foi o seguinte:</p>
<div class="codesnip-container" >
<div class="python codesnip" style="font-family:monospace;"><span class="kw1">import</span> pexpect</p>
<p><span class="kw1">class</span> SSH<span class="br0">&#40;</span><span class="br0">&#41;</span>:<br />
<span class="kw1">def</span> connect<span class="br0">&#40;</span><span class="kw2">self</span><span class="br0">&#41;</span>:<br />
x = <span class="kw2">True</span><br />
sshConnection = pexpect.<span class="me1">spawn</span><span class="br0">&#40;</span><span class="st0">&#8216;ssh -l matheus -p 22 192.168.0.254&#8242;</span><span class="br0">&#41;</span><br />
sshConnection.<span class="me1">expect</span><span class="br0">&#40;</span><span class="st0">&#8216;matheus@192.168.0.254<span class="es0">\&#8217;</span>s password:&#8217;</span><span class="br0">&#41;</span><br />
sshConnection.<span class="me1">sendline</span><span class="br0">&#40;</span><span class="st0">&#8216;senha&#8217;</span><span class="br0">&#41;</span><br />
<span class="kw1">while</span> <span class="kw2">True</span>:<br />
<span class="kw1">print</span> sshConnection.<span class="kw3">readline</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="kw1">if</span> x <span class="kw1">is</span> <span class="kw2">True</span>:<br />
sshConnection.<span class="me1">sendline</span><span class="br0">&#40;</span><span class="st0">&#8216;uptime&#8217;</span><span class="br0">&#41;</span><br />
x = <span class="kw2">False</span><br />
sshConnection.<span class="kw3">readline</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></p>
<p>s = SSH<span class="br0">&#40;</span><span class="br0">&#41;</span><br />
s.<span class="me1">connect</span><span class="br0">&#40;</span><span class="br0">&#41;</span></div>
</div>
<p>Bom, o código é auto-explicativo e caso você tenha algum problema para entender, não hesite em entrar em contato,<br />
Matheus Bratfisch</p>
<p>PS: Caso tenha algum problema execute o seguinte comando: $ sudo apt-get install python-dev</p>
<p>PS2: Maldita indentação. Caso você deseje baixe aqui o <a href='http://www.matbra.com/wp-content/uploads/exemplo-conectar-ssh-em-python.py'>Conectar ao SSH pelo Python</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.matbra.com/2009/09/02/conectar-ao-ssh-pelo-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Executando comandos no terminal e passando parametros em Python.</title>
		<link>http://www.matbra.com/2009/09/02/executando-comandos-no-terminal-e-passando-parametros-em-python/</link>
		<comments>http://www.matbra.com/2009/09/02/executando-comandos-no-terminal-e-passando-parametros-em-python/#comments</comments>
		<pubDate>Wed, 02 Sep 2009 04:54:51 +0000</pubDate>
		<dc:creator>Matheus (X-warrior) Bratfisch</dc:creator>
				<category><![CDATA[python]]></category>
		<category><![CDATA[pexpect]]></category>

		<guid isPermaLink="false">http://www.matbra.com/?p=413</guid>
		<description><![CDATA[Boa noite, Estou a alguns dias procurando um método para apartir do Python conseguir executar programas na shell e passar parametros (&#8220;responder&#8221; as perguntas desse programa.). Por exemplo, você deseja fazer um script em python que automaticamente se autentica em um servidor ssh, ou seja inicia o SSH e passa a senha para o mesmo [...]]]></description>
			<content:encoded><![CDATA[<p>Boa noite, </p>
<p>Estou a alguns dias procurando um método para apartir do Python conseguir executar programas na shell e passar parametros (&#8220;responder&#8221; as perguntas desse programa.). Por exemplo, você deseja fazer um script em python que automaticamente se autentica em um servidor ssh, ou seja inicia o SSH e passa a senha para o mesmo automaticamente. Após alguns tempos de pesquisa, descobri o <a href="http://docs.python.org/library/subprocess.html" target="_blank">subprocess.Popen</a>, porém o mesmo não conseguia matar minha necessidade, quando se tratava de inserir as senhas as mesmas não iam. Li no <a href="http://www.gossamer-threads.com/lists/python/python/593997" target="_blank">gossamer-threads</a> que o problema é devido ao SSH não aceitar conteudo para senhas provenientes do stdin, somente do pty então me parece que é necessário algum tipo de simulação. No mesmo tópico deste forum recomendam a utilização da biblioteca <a href="http://sourceforge.net/projects/pexpect/">pexpect</a> e com a mesma obtive sucesso, não tive tempo de brincar o suficiente com ela, mas do recado básico e inicial ela deu conta. </p>
<p>Quem sabe em alguns dias não posto alguns exemplos, mas fica aqui a dica para você que possui problema semelhante. </p>
<p>Att,<br />
Matheus</p>
]]></content:encoded>
			<wfw:commentRss>http://www.matbra.com/2009/09/02/executando-comandos-no-terminal-e-passando-parametros-em-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

