Add new PLC passwords

This commit is contained in:
rasta5man 2025-04-16 21:51:40 +02:00
parent b8e528dfff
commit 73de386857
3 changed files with 197 additions and 69 deletions

View file

@ -7,61 +7,146 @@ public class BuildServerArray {
private HashMap<String,String> servers = new HashMap<>();
private ArrayList<Server> allServers = new ArrayList<>();
private HashMap<String,String> rvoPasswords = new HashMap<>();
public BuildServerArray() {
// ALL SENICA rvo
// servers.put("10.0.0.130","unipi");
servers.put("10.0.0.119","unipi");
servers.put("10.0.0.136","unipi");
servers.put("10.0.0.112","unipi");
// servers.put("10.0.0.138","unipi");
//TODO
// servers.put("10.0.0.107","unipi");
// servers.put("10.0.0.123","unipi");
// servers.put("10.0.0.124","unipi");
// servers.put("10.0.0.129","unipi");
// servers.put("10.0.0.119","unipi");
// servers.put("10.0.0.131","unipi");
// servers.put("10.0.0.118","unipi");
// servers.put("10.0.0.137","unipi");
// servers.put("10.0.0.130","unipi");
// servers.put("10.0.0.110","unipi");
// servers.put("10.0.0.138","unipi");
// servers.put("10.0.0.136","unipi");
// servers.put("10.0.0.112","unipi");
// servers.put("10.0.0.141","unipi");
// servers.put("10.0.0.140","unipi");
// servers.put("10.0.0.133","unipi");
// servers.put("10.0.0.124","unipi");
// servers.put("10.0.0.109","unipi");
// servers.put("10.0.0.128","unipi");
// servers.put("10.0.0.110","unipi");
// servers.put("10.0.0.127","unipi");
// servers.put("10.0.0.129","unipi");
// servers.put("10.0.0.111","unipi");
// servers.put("10.0.0.122","unipi");
// servers.put("10.0.0.132","unipi");
// servers.put("10.0.0.117","unipi");
// servers.put("10.0.0.118","unipi");
// servers.put("10.0.0.120","unipi");
// servers.put("10.0.0.133","unipi");
// servers.put("10.0.0.134","unipi");
// servers.put("10.0.0.135","unipi");
// servers.put("10.0.0.107","unipi");
// servers.put("10.0.0.139","unipi");
// servers.put("10.0.0.137","unipi");
// servers.put("10.0.0.140","unipi");
// servers.put("10.0.0.141","unipi");
// servers.put("10.0.0.122","unipi");
// servers.put("10.0.0.132","unipi");
// 24/7
// 24/7
//TODO
// servers.put("10.0.0.116","unipi");
// servers.put("10.0.0.114","unipi");
// servers.put("10.0.0.115","unipi");
servers.put("10.0.0.114","unipi");
// servers.put("10.0.0.126","unipi");
// servers.put("10.0.0.113","unipi");
// servers.put("10.0.0.121","unipi");
// servers.put("10.0.0.116","unipi");
// servers.put("10.0.0.127","unipi");
// kovalov
// servers.put("10.0.0.2", "lm");
// servers.put("10.0.0.4", "lm");
// kyjov
// servers.put("10.0.0.27", "lm");
// servers.put("10.0.0.29", "lm");
// servers.put("10.0.0.31", "lm");
// servers.put("10.0.0.32", "lm");
// servers.put("10.0.0.60", "lm");
// servers.put("10.0.0.61", "lm");
// servers.put("10.0.0.102","unipi");
// servers.put("10.0.0.103","unipi");
// breclav
// servers.put("10.0.0.23", "lm");
// servers.put("10.0.0.33", "lm");
//showroom
// servers.put("10.0.0.26", "lm");
//trebic
// servers.put("10.0.0.6", "lm");
//test
// servers.put("10.0.0.38","unipi");
// servers.put("10.0.0.5","lm");
// servers.put("10.0.0.38","unipi");
servers.put("10.0.0.5","lm");
//PASSWORDS-------------------------------------------------
rvoPasswords.put("10.0.0.5", "admin");
rvoPasswords.put("10.0.0.38", "unipi.technology");
rvoPasswords.put("10.0.0.2","2b2CdbTQ8xma");
rvoPasswords.put("10.0.0.4","nN7BZ7GFn6KD");
rvoPasswords.put("10.0.0.60","d7hAYkrpFJdK");
rvoPasswords.put("10.0.0.29","4cDYsSYTrjt6");
rvoPasswords.put("10.0.0.31","aFQQPGhutfY9");
rvoPasswords.put("10.0.0.27","zpF5bB7szsRS");
rvoPasswords.put("10.0.0.32","wqwWBmwmFvR9");
rvoPasswords.put("10.0.0.61","PaXkd4S3AZKy");
rvoPasswords.put("10.0.0.102","MkqTLBnfe3ad");
rvoPasswords.put("10.0.0.103","szT3LFCYYhrR");
rvoPasswords.put("10.0.0.23","BUZN4RdyMp3W");
rvoPasswords.put("10.0.0.33","vv6PuXCqRans");
rvoPasswords.put("10.0.0.6","3rceA9mt59mG");
rvoPasswords.put("10.0.0.141", "mppsdcMGvH59");
rvoPasswords.put("10.0.0.130", "Ybucc2ug3WAU");
rvoPasswords.put("10.0.0.119", "BKUdq6eLte3H");
rvoPasswords.put("10.0.0.136", "vfa3VGcZtbyS");
rvoPasswords.put("10.0.0.126", "vYKD4GAntYKr");
rvoPasswords.put("10.0.0.112", "Cf544STxcCvd");
rvoPasswords.put("10.0.0.123", "ZTaHFw9mMUEP");
rvoPasswords.put("10.0.0.124", "tu7yJGEpsv3Y");
rvoPasswords.put("10.0.0.114", "sVyU7c6kz42H");
rvoPasswords.put("10.0.0.131", "UZqgXWtQ2Hcs");
rvoPasswords.put("10.0.0.113", "JCmVs7fDuEpU");
rvoPasswords.put("10.0.0.115", "dQHFm5zrsaXz");
rvoPasswords.put("10.0.0.109", "uG25bgPKanT7");
rvoPasswords.put("10.0.0.110", "zAnHfcRGy2WZ");
rvoPasswords.put("10.0.0.121", "PecL42DGVPNY");
rvoPasswords.put("10.0.0.127", "XugRaKPYfX6q");
rvoPasswords.put("10.0.0.128", "2tPaBYu4nRWA");
rvoPasswords.put("10.0.0.129", "fzY3NM6zYNxN");
rvoPasswords.put("10.0.0.138", "pQvaeGDBf8nJ");
rvoPasswords.put("10.0.0.111", "XsNdUU9KXKf7");
rvoPasswords.put("10.0.0.122", "5X5yUx3GXGKC");
rvoPasswords.put("10.0.0.132", "nmZqdWU9Hwtk");
rvoPasswords.put("10.0.0.117", "57nDnNtrgGac");
rvoPasswords.put("10.0.0.118", "9gQzJGdMWryK");
rvoPasswords.put("10.0.0.116", "GW3b4Tt4r87X");
rvoPasswords.put("10.0.0.120", "wSg4SFV9dPLJ");
rvoPasswords.put("10.0.0.133", "nMrAmVFM6JKh");
rvoPasswords.put("10.0.0.134", "PbKcz829CA5D");
rvoPasswords.put("10.0.0.135", "FZ9pytsxeS8Y");
rvoPasswords.put("10.0.0.139", "LdDgSE2jVN2B");
rvoPasswords.put("10.0.0.107", "fCKRYdGB2VSu");
rvoPasswords.put("10.0.0.137", "zRkVARmNc2Ja");
rvoPasswords.put("10.0.0.140", "urQPCmCDGeG8");
for (String ip : servers.keySet()) {
if(servers.get(ip).equals("unipi"))
{
allServers.add(new ServerBuilder().host(ip).buildServer());
allServers.add(new ServerBuilder().host(ip).password(rvoPasswords.get(ip)).buildServer());
}
else
{
allServers.add(new ServerBuilder().host(ip).username("root").password("admin").path("/root").buildServer());
allServers.add(new ServerBuilder().host(ip).username("root").password(rvoPasswords.get(ip)).path("/root").buildServer());
}
}
}

View file

@ -8,23 +8,40 @@ import java.io.PrintStream;
import java.util.ArrayList;
import java.util.Properties;
import java.util.concurrent.TimeUnit;
public class CommandExecutor {
private Session session;
private final String fileToRead = "monitor.txt";
private String commandsToExecute = "";
private ArrayList<Server> allServers = new ArrayList<>();
private int timeBetweenCommands;
private final ArrayList<Server> allServers;
public CommandExecutor() {
allServers = new BuildServerArray().getAllServers();
// commandsToExecute = "tail -n 20 flowserver/" + fileToRead;
// commandsToExecute = "ls -l flowserver/";
timeBetweenCommands = 1; // in seconds (if rebooting, put cca 20 seconds between reboots)
// commandsToExecute = "tail -n 3 flowserver/monitor.txt";
// commandsToExecute = "sudo journalctl --vacuum-size=1M";
// commandsToExecute = "sudo rm flowserver/monitor.1.txt.gz";
commandsToExecute = "sudo service nodejs restart";
// commandsToExecute = "sudo service nodejs stop";
// commandsToExecute = "sudo service nodejs restart";
commandsToExecute = "sudo service nodejs start";
// commandsToExecute = "rm -rf /home/unipi/flowserver/flow";
// commandsToExecute = "mkdir -p /home/unipi/flowserver/flow/helper";
// commandsToExecute = "sudo reboot";
commandsToExecute = "python /root/flowserver/addSwitch.py";
// commandsToExecute = "ls -l /home/unipi/flowserver/databases";
// commandsToExecute = "ls -l /root/flowserver/databases";
// commandsToExecute = "rm /home/unipi/flowserver/databases/1.tbdata.nosql /home/unipi/flowserver/databases/2.tbdata.nosql /home/unipi/flowserver/databases/3.tbdata.nosql /home/unipi/flowserver/databases/4.tbdata.nosql /home/unipi/flowserver/databases/5.tbdata.nosql /home/unipi/flowserver/databases/6.tbdata.nosql /home/unipi/flowserver/databases/7.tbdata.nosql /home/unipi/flowserver/databases/8.tbdata.nosql /home/unipi/flowserver/databases/9.tbdata.nosql /home/unipi/flowserver/databases/10.tbdata.nosql";
// commandsToExecute = "head -n 1 /home/unipi/flowserver/databases/nodes_original/nodes_original.table";
// commandsToExecute = "sudo sh -c 'chmod 777 /etc/owfs.conf; chmod 777 /etc/fuse.conf; chmod 777 /etc/evok.conf; chmod 777 /lib/systemd/system/owfs.service; mkdir /mnt/1wire'";
// commandsToExecute = "sudo sh -c 'service owfs stop; service evok stop; service nodejs stop; chmod 777 /etc/owfs.conf; chmod 777 /etc/fuse.conf; chmod 777 /etc/evok.conf; chmod 777 /lib/systemd/system/owfs.service; mkdir /mnt/1wire'";
// commandsToExecute = "sudo sh -c 'chmod 644 /etc/owfs.conf; chmod 644 /etc/fuse.conf; chmod 644 /etc/evok.conf; chmod 644 /lib/systemd/system/owfs.service'";
// commandsToExecute = "python /home/unipi/flowserver/cloud_topic.py && rm /home/unipi/flowserver/databases/status.table";
}
public void open(String username, String hostname, String password) throws JSchException {
JSch jSch = new JSch();
@ -95,16 +112,13 @@ public class CommandExecutor {
}
public static void main(String[] args) {
public static void main(String[] args) throws InterruptedException {
CommandExecutor ssh = new CommandExecutor();
for (Server s : ssh.allServers) {
try {
ssh.open(s.getUsername(), s.getHost(), s.getPassword());
// String ret = ssh.runCommand("tail -n 20 " + s.getPath() + "/flowserver/" + ssh.fileToRead);
// String ret = ssh.runCommand("ls -la /home/unipi/flowserver/flow");
// String ret = ssh.runCommand("sudo service nodejs restart");
String ret = ssh.runCommand(ssh.commandsToExecute);
System.out.println(ret);
ssh.close();
@ -112,6 +126,8 @@ public class CommandExecutor {
System.out.println(e);
//throw new RuntimeException(e);
}
TimeUnit.SECONDS.sleep(ssh.timeBetweenCommands);
}
}
}

View file

@ -3,6 +3,7 @@ package handleSsh;
import com.jcraft.jsch.*;
import java.util.ArrayList;
import java.util.HashMap;
public class UploadFiles {
@ -12,40 +13,62 @@ public class UploadFiles {
private static final String[] filesToUpload =
{
"/home/rasta5man/dev/oms/flowserver/flow/cloudmqttconnect.js",
"/home/rasta5man/dev/oms/flowserver/flow/cmd_manager.js",
"/home/rasta5man/dev/oms/flowserver/flow/db_init.js",
"/home/rasta5man/dev/oms/flowserver/flow/designer.json",
"/home/rasta5man/dev/oms/flowserver/flow/dido_controller.js",
"/home/rasta5man/dev/oms/flowserver/flow/infosender.js",
"/home/rasta5man/dev/oms/flowserver/flow/modbus_reader.js",
"/home/rasta5man/dev/oms/flowserver/flow/show_dbdata.js",
"/home/rasta5man/dev/oms/flowserver/flow/slack_filter.js",
"/home/rasta5man/dev/oms/flowserver/flow/thermometer.js",
"/home/rasta5man/dev/oms/flowserver/flow/wsmqttpublish.js",
"/home/rasta5man/dev/oms/flowserver/config",
"/home/rasta5man/dev/oms/flowserver/flow/helper/DataToTbHandler.js",
"/home/rasta5man/dev/oms/flowserver/flow/helper/ErrorToServiceHandler.js",
"/home/rasta5man/dev/oms/flowserver/flow/helper/logger.js",
"/home/rasta5man/dev/oms/flowserver/flow/helper/notification_reporter.js",
"/home/rasta5man/dev/oms/flowserver/flow/helper/serialport_helper.js",
"/home/rasta5man/dev/oms/flowserver/databases/notifications.table",
"/home/rasta5man/dev/oms/flowserver/databases/tbdatacloud.nosql",
//"/home/rasta5man/dev/oms/flowserver/databases/modbus_config.js",
//"/home/rasta5man/dev/oms/flowserver/databases/status.table"
// "/home/rasta5man/dev/oms/bitbucket-repositories/citysys-flowserver/flow/cloudmqttconnect.js",
// "/home/rasta5man/dev/oms/bitbucket-repositories/citysys-flowserver/flow/cmd_manager.js",
//// "/home/rasta5man/dev/oms/bitbucket-repositories/citysys-flowserver/flow/code.js",
//// "/home/rasta5man/dev/oms/bitbucket-repositories/citysys-flowserver/flow/comment.js",
// "/home/rasta5man/dev/oms/bitbucket-repositories/citysys-flowserver/flow/count.js",
//// "/home/rasta5man/dev/oms/bitbucket-repositories/citysys-flowserver/flow/db_connector.js",
// "/home/rasta5man/dev/oms/bitbucket-repositories/citysys-flowserver/flow/db_init.js",
//// "/home/rasta5man/dev/oms/bitbucket-repositories/citysys-flowserver/flow/debug.js",
// "/home/rasta5man/dev/oms/bitbucket-repositories/citysys-flowserver/flow/designer.json",
// "/home/rasta5man/dev/oms/bitbucket-repositories/citysys-flowserver/flow/dido_controller.js",
//// "/home/rasta5man/dev/oms/bitbucket-repositories/citysys-flowserver/flow/httprequest.js",
//// "/home/rasta5man/dev/oms/bitbucket-repositories/citysys-flowserver/flow/httpresponse.js",
//// "/home/rasta5man/dev/oms/bitbucket-repositories/citysys-flowserver/flow/httproute.js",
// "/home/rasta5man/dev/oms/bitbucket-repositories/citysys-flowserver/flow/infosender.js",
// "/home/rasta5man/dev/oms/bitbucket-repositories/citysys-flowserver/flow/modbus_reader.js",
//// "/home/rasta5man/dev/oms/bitbucket-repositories/citysys-flowserver/flow/monitorconsumption.js",
//// "/home/rasta5man/dev/oms/bitbucket-repositories/citysys-flowserver/flow/monitordisk.js",
//// "/home/rasta5man/dev/oms/bitbucket-repositories/citysys-flowserver/flow/monitormemory.js",
// "/home/rasta5man/dev/oms/bitbucket-repositories/citysys-flowserver/flow/nodesdb_changecheck.js",
// "/home/rasta5man/dev/oms/bitbucket-repositories/citysys-flowserver/flow/show_dbdata.js",
// "/home/rasta5man/dev/oms/bitbucket-repositories/citysys-flowserver/flow/slack_filter.js",
// "/home/rasta5man/dev/oms/bitbucket-repositories/citysys-flowserver/flow/thermometer.js",
//// "/home/rasta5man/dev/oms/bitbucket-repositories/citysys-flowserver/flow/trigger.js",
//// "/home/rasta5man/dev/oms/bitbucket-repositories/citysys-flowserver/flow/virtualwirein.js",
//// "/home/rasta5man/dev/oms/bitbucket-repositories/citysys-flowserver/flow/virtualwireout.js",
// "/home/rasta5man/dev/oms/bitbucket-repositories/citysys-flowserver/flow/wsmqttpublish.js",
//
// "/home/rasta5man/dev/oms/bitbucket-repositories/citysys-flowserver/config",
//// "/home/rasta5man/dev/oms/bitbucket-repositories/citysys-flowserver/cloud_topic.py",
//// "/home/rasta5man/dev/oms/bitbucket-repositories/citysys-flowserver/createNodeDbOriginal.js",
// "/home/rasta5man/dev/oms/bitbucket-repositories/citysys-flowserver/createNode.py",
////
// "/home/rasta5man/dev/oms/bitbucket-repositories/citysys-flowserver/flow/helper/DataToTbHandler.js",
//// "/home/rasta5man/dev/oms/bitbucket-repositories/citysys-flowserver/flow/helper/db_helper.js",
//// "/home/rasta5man/dev/oms/bitbucket-repositories/citysys-flowserver/flow/helper/ErrorToServiceHandler.js",
//// "/home/rasta5man/dev/oms/bitbucket-repositories/citysys-flowserver/flow/helper/logger.js",
//// "/home/rasta5man/dev/oms/bitbucket-repositories/citysys-flowserver/flow/helper/md5.js",
//// "/home/rasta5man/dev/oms/bitbucket-repositories/citysys-flowserver/flow/helper/notification_reporter.js",
//// "/home/rasta5man/dev/oms/bitbucket-repositories/citysys-flowserver/flow/helper/register.js",
// "/home/rasta5man/dev/oms/bitbucket-repositories/citysys-flowserver/flow/helper/serialport_helper.js",
//// "/home/rasta5man/dev/oms/bitbucket-repositories/citysys-flowserver/flow/helper/suncalc.js",
//// "/home/rasta5man/dev/oms/bitbucket-repositories/citysys-flowserver/flow/helper/utils.js",
//////
//
// "/home/rasta5man/dev/oms/bitbucket-repositories/citysys-flowserver/databases/notifications.table",
// "/home/rasta5man/dev/oms/bitbucket-repositories/citysys-flowserver/databases/tbdata.nosql",
//// "/home/rasta5man/dev/oms/bitbucket-repositories/citysys-flowserver/databases/modbus_config.js",
"/home/rasta5man/dev/oms/bitbucket-repositories/citysys-flowserver/addSwitch.py",
};
private static String buildDestinationDirectory(String fileToUpload) {
int index = fileToUpload.indexOf("/flowserver");
return fileToUpload.substring(index + 11);
int index = fileToUpload.indexOf("/bitbucket-repositories");
//int index = fileToUpload.indexOf("/flowserver");
//return fileToUpload.substring(index + 11);
return fileToUpload.substring(index + 42);
}
private static ArrayList<Server> allServers;
@ -87,6 +110,9 @@ public class UploadFiles {
else
{
directoryToUpload = "/home/unipi/flowserver" + buildDestinationDirectory(fileToUpload);
// directoryToUpload = "/etc" + buildDestinationDirectory(fileToUpload);
// directoryToUpload = "/lib/systemd/system" + buildDestinationDirectory(fileToUpload);
// System.out.println(directoryToUpload + fileToUpload);
}
sftpChannel.put(fileToUpload, directoryToUpload);
}
@ -103,3 +129,4 @@ public class UploadFiles {
}
}
}