Add first version of dropper script

feature/node-rewrite
Sven Slootweg 13 years ago
parent 5d7188d46e
commit 0a1ae9c4be

@ -0,0 +1,50 @@
#!/usr/bin/env python
import paramiko, socket, sys, termios, tty, select
def posix_shell(chan):
oldtty = termios.tcgetattr(sys.stdin)
try:
tty.setraw(sys.stdin.fileno())
tty.setcbreak(sys.stdin.fileno())
chan.settimeout(0.0)
while True:
r, w, e = select.select([chan, sys.stdin], [], [])
if chan in r:
try:
buff = chan.recv(1024)
if len(buff) == 0:
print '\r\nYou have been logged out of your container.\r\n',
break
sys.stdout.write(buff)
sys.stdout.flush()
except socket.timeout:
pass
if sys.stdin in r:
buff = sys.stdin.read(1)
if len(buff) == 0:
break
chan.send(buff)
finally:
termios.tcsetattr(sys.stdin, termios.TCSADRAIN, oldtty)
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
sshkey = paramiko.RSAKey.from_private_key_file('/etc/cvm/key')
ssh.connect('cvm-vz.cryto.net', username='root', pkey=sshkey)
chan = ssh.invoke_shell()
posix_shell(chan)
chan.close()
ssh.close()

@ -0,0 +1,16 @@
<?php
/*
* CVM is more free software. It is licensed under the WTFPL, which
* allows you to do pretty much anything with it, without having to
* ask permission. Commercial use is allowed, and no attribution is
* required. We do politely request that you share your modifications
* to benefit other developers, but you are under no enforced
* obligation to do so :)
*
* Please read the accompanying LICENSE document for the full WTFPL
* licensing text.
*/
require("rewrite.php");
?>
Loading…
Cancel
Save