Add new menu "Install permanent SSH"
parent
82ab90b39e
commit
82a40aa2b3
@ -0,0 +1,16 @@
|
||||
#!/bin/sh
|
||||
|
||||
if [ "$( grep 'ssh_patch.sh' /etc/crontabs/root )" != "" ]; then
|
||||
sh /tmp/ssh_uninstall.sh
|
||||
fi
|
||||
|
||||
mv -f /tmp/ssh_patch.sh /etc/crontabs/
|
||||
chmod +x /etc/crontabs/ssh_patch.sh
|
||||
|
||||
nvram set ssh_en=1
|
||||
nvram commit
|
||||
|
||||
grep -v "/etc/crontabs/ssh_patch.sh" /etc/crontabs/root > /etc/crontabs/root.new;
|
||||
echo "*/1 * * * * /etc/crontabs/ssh_patch.sh >/dev/null 2>&1" >> /etc/crontabs/root.new
|
||||
mv /etc/crontabs/root.new /etc/crontabs/root
|
||||
/etc/init.d/cron restart
|
@ -0,0 +1,15 @@
|
||||
#!/bin/sh
|
||||
|
||||
[ -e "/tmp/ssh_patch.log" ] && return 0
|
||||
|
||||
HAVE_PATCH=$( grep '= "release"' /etc/init.d/dropbear )
|
||||
if [ -z "$HAVE_PATCH" ]; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
sed -i 's/= "release"/= "XXXXXX"/g' /etc/init.d/dropbear
|
||||
|
||||
/etc/init.d/dropbear enable
|
||||
/etc/init.d/dropbear restart
|
||||
|
||||
echo "ssh enabled" > /tmp/ssh_patch.log
|
@ -0,0 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
grep -v "/etc/crontabs/ssh_patch.sh" /etc/crontabs/root > /etc/crontabs/root.new;
|
||||
mv /etc/crontabs/root.new /etc/crontabs/root
|
||||
/etc/init.d/cron restart
|
||||
|
||||
rm -f /etc/crontabs/ssh_patch.sh
|
||||
|
@ -0,0 +1,53 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
|
||||
import gateway
|
||||
from gateway import die
|
||||
|
||||
|
||||
gw = gateway.Gateway()
|
||||
|
||||
fn_dir = 'data/'
|
||||
fn_local = 'data/ssh_patch.sh'
|
||||
fn_remote = '/tmp/ssh_patch.sh'
|
||||
fn_local_i = 'data/ssh_install.sh'
|
||||
fn_remote_i = '/tmp/ssh_install.sh'
|
||||
fn_local_u = 'data/ssh_uninstall.sh'
|
||||
fn_remote_u = '/tmp/ssh_uninstall.sh'
|
||||
|
||||
action = 'install'
|
||||
if len(sys.argv) > 1:
|
||||
if sys.argv[1].startswith('u') or sys.argv[1].startswith('r'):
|
||||
action = 'uninstall'
|
||||
|
||||
if action == 'install':
|
||||
gw.upload(fn_local, fn_remote)
|
||||
gw.upload(fn_local_i, fn_remote_i)
|
||||
|
||||
gw.upload(fn_local_u, fn_remote_u)
|
||||
|
||||
print("All files uploaded!")
|
||||
'''
|
||||
if action == 'install':
|
||||
gw.ssh_close()
|
||||
import passw
|
||||
gw = gateway.Gateway()
|
||||
if not gw.ping():
|
||||
die('SSH not active!')
|
||||
'''
|
||||
|
||||
print("Run scripts...")
|
||||
if action == 'install':
|
||||
gw.run_cmd("sh " + fn_remote_i)
|
||||
else:
|
||||
gw.run_cmd("sh " + fn_remote_u)
|
||||
|
||||
gw.run_cmd("rm -f " + fn_remote)
|
||||
gw.run_cmd("rm -f " + fn_remote_i)
|
||||
gw.run_cmd("rm -f " + fn_remote_u)
|
||||
|
||||
print("Ready! The SSH patch installed.")
|
Loading…
Reference in New Issue