{"id":409,"date":"2023-12-03T01:22:46","date_gmt":"2023-12-03T00:22:46","guid":{"rendered":"https:\/\/www.bmetallica.de\/?page_id=409"},"modified":"2023-12-03T01:58:01","modified_gmt":"2023-12-03T00:58:01","slug":"debian-patchmanagement","status":"publish","type":"page","link":"https:\/\/www.bmetallica.de\/index.php\/debian-patchmanagement\/","title":{"rendered":"Debian Patchmanagement"},"content":{"rendered":"<h1 style=\"text-align: left;\">Debian Patchmanagement<\/h1>\n<p><strong>Ziel ist es ein einfaches Patchmanagement mit Webinterface f\u00fcr eine Anzahl von Debian Servern zu schaffen.<\/strong><\/p>\n<p><a href=\"https:\/\/i0.wp.com\/www.bmetallica.de\/wp-content\/uploads\/2023\/12\/manage.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"425\" data-permalink=\"https:\/\/www.bmetallica.de\/index.php\/debian-patchmanagement\/manage\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.bmetallica.de\/wp-content\/uploads\/2023\/12\/manage.jpg?fit=1896%2C978&amp;ssl=1\" data-orig-size=\"1896,978\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"manage\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/www.bmetallica.de\/wp-content\/uploads\/2023\/12\/manage.jpg?fit=676%2C349&amp;ssl=1\" class=\"aligncenter size-medium wp-image-425\" src=\"https:\/\/i0.wp.com\/www.bmetallica.de\/wp-content\/uploads\/2023\/12\/manage.jpg?resize=300%2C155\" alt=\"\" width=\"300\" height=\"155\" srcset=\"https:\/\/i0.wp.com\/www.bmetallica.de\/wp-content\/uploads\/2023\/12\/manage.jpg?resize=300%2C155&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.bmetallica.de\/wp-content\/uploads\/2023\/12\/manage.jpg?resize=1024%2C528&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.bmetallica.de\/wp-content\/uploads\/2023\/12\/manage.jpg?resize=768%2C396&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.bmetallica.de\/wp-content\/uploads\/2023\/12\/manage.jpg?resize=1536%2C792&amp;ssl=1 1536w, https:\/\/i0.wp.com\/www.bmetallica.de\/wp-content\/uploads\/2023\/12\/manage.jpg?resize=945%2C487&amp;ssl=1 945w, https:\/\/i0.wp.com\/www.bmetallica.de\/wp-content\/uploads\/2023\/12\/manage.jpg?resize=600%2C309&amp;ssl=1 600w, https:\/\/i0.wp.com\/www.bmetallica.de\/wp-content\/uploads\/2023\/12\/manage.jpg?w=1896&amp;ssl=1 1896w, https:\/\/i0.wp.com\/www.bmetallica.de\/wp-content\/uploads\/2023\/12\/manage.jpg?w=1352 1352w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p><strong>Voraussetzungen:<\/strong><\/p>\n<p>Ein Debian Server mit folgenden Paketen:<\/p>\n<p>apache2, php, postgresql-server, php-pgsql, openssh-server, sshpass, sudo<\/p>\n<p>&nbsp;<\/p>\n<p>Installation des Management-Servers:<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li style=\"list-style-type: none;\">\n<ul>\n<li style=\"list-style-type: none;\">\n<ol>\n<li style=\"list-style-type: none;\">\n<ul>\n<li style=\"list-style-type: none;\">\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li style=\"list-style-type: none;\">\n<ul>\n<li style=\"text-align: left;\">Erzeugen eines RSA-Schl\u00fcssel &#8222;ssh-keygen&#8220;<\/li>\n<li>Erweitern der &#8222;\/etc\/ssh\/ssh_config&#8220; mit dem Wert &#8222;StrictHostKeyChecking no&#8220;<\/li>\n<li>anpassen der sudoers f\u00fcr www-data:<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<pre class=\"lang:default decode:true\"># User privilege specification\r\nroot    ALL=(ALL:ALL) ALL\r\nwww-data ALL=(ALL) NOPASSWD: ALL<\/pre>\n<ul>\n<li>anlegen eines Verzeichnis f\u00fcr das WEB-Frontend &#8222;mkdir \/var\/www\/html\/patch&#8220;<\/li>\n<li>Postgresql erlauben Kommunikation aus dem internen Netzwerk an zu nehmen:\n<ol>\n<li style=\"list-style-type: none;\">\n<ul>\n<li>\/etc\/postgresql\/11\/main\/postgresql.conf\u00a0 -&gt; listen_addresses = &#8218;*&#8216;<\/li>\n<li>\/etc\/postgres\/11\/main\/pg_hba.conf:\n<pre class=\"lang:default decode:true\"># IPv4 local connections:\r\n host all all 192.168.66.1\/24 password\r\n\r\n<\/pre>\n<\/li>\n<li>\/etc\/init.d\/postgresql restart<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<\/li>\n<li>anlegen der Datenbank in Postgresql &#8218;psql -U postgres -c &#8222;create database apt&#8220;&#8218;<\/li>\n<li>einen User f\u00fcr die Datenbank anlegen psql -d apt -U postgres -c &#8222;CREATE USER apt WITH PASSWORD &#8218;apt123&#8216;;&#8220;&#8218;<\/li>\n<li>Eine Tabelle anlegen &#8222;psql -d apt -U postgres&#8220;<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<pre class=\"lang:default decode:true\">CREATE TABLE IF NOT EXISTS zustand (\r\n    id SERIAL PRIMARY KEY,\r\n    server VARCHAR(15) NOT NULL,\r\n    sys VARCHAR(255) NOT NULL,\r\n    pu VARCHAR(3) NOT NULL,\r\n    ul TEXT,\r\n    root_free VARCHAR(10) NOT NULL,\r\n    last_run TIMESTAMP NOT NULL\r\n);\r\n<\/pre>\n<\/li>\n<li>erzeugen der Startseite (\/var\/www\/html\/patch\/index.php)<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<pre class=\"lang:default decode:true\"><code>&lt;!DOCTYPE html&gt;\r\n&lt;html lang=\"en\"&gt;\r\n\r\n&lt;head&gt;\r\n&lt;meta charset=\"UTF-8\"&gt;\r\n&lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"&gt;\r\n&lt;title&gt;Server Information&lt;\/title&gt;\r\n&lt;style&gt;\r\nbody {\r\nbackground-color: #0e0e0e;\r\ncolor: #ffffff;\r\nfont-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\r\nmargin: 0;\r\npadding: 0;\r\nbox-sizing: border-box;\r\noverflow-x: hidden;\r\n}\r\n\r\n.container {\r\nwidth: 100%;\r\nmargin: 50px 0;\r\noverflow-x: auto;\r\n}\r\n\r\ntable {\r\nwidth: 100%;\r\nborder-collapse: collapse;\r\nmargin-top: 20px;\r\nbackground-color: #1e1e1e;\r\nbox-shadow: 0px 0px 20px rgba(0, 0, 0, 0.5);\r\nborder-radius: 12px;\r\noverflow: hidden;\r\n}\r\n\r\nth,\r\ntd {\r\nborder: 1px solid #333;\r\npadding: 16px;\r\ntext-align: left;\r\ntransition: background-color 0.3s ease;\r\n}\r\n\r\nth {\r\nbackground-color: #4CAF50;\r\ncolor: white;\r\n}\r\n\r\ntextarea {\r\nwidth: 100%;\r\nheight: 6em;\r\nresize: vertical;\r\nbackground-color: #333;\r\ncolor: #ffffff;\r\nborder: 1px solid #666;\r\npadding: 12px;\r\nborder-radius: 6px;\r\n}\r\n\r\n.action-button {\r\nbackground-color: #3498db;\r\ncolor: #ffffff;\r\npadding: 12px 20px;\r\nborder: none;\r\nborder-radius: 8px;\r\ncursor: pointer;\r\ntransition: background-color 0.3s ease;\r\n}\r\n\r\n.action-button:hover {\r\nbackground-color: #2980b9;\r\n}\r\n\r\n.connected {\r\ncolor: #3498db;\r\n}\r\n\r\n.highlight-row {\r\nbackground-color: #2ecc71;\r\ncolor: #ffffff;\r\n}\r\n&lt;\/style&gt;\r\n&lt;\/head&gt;\r\n\r\n&lt;body&gt;\r\n\r\n&lt;div class=\"container\"&gt;\r\n&lt;h2 style=\"text-align: center;\"&gt;Server Information&lt;\/h2&gt;\r\n&lt;table&gt;\r\n&lt;thead&gt;\r\n&lt;tr&gt;\r\n&lt;th&gt;Server&lt;\/th&gt;\r\n&lt;th&gt;Debian Version&lt;\/th&gt;\r\n&lt;th&gt;Updates Possible&lt;\/th&gt;\r\n&lt;th style=\"width: 100%;\"&gt;Update List&lt;\/th&gt;\r\n&lt;th&gt;Root Free&lt;\/th&gt;\r\n&lt;th&gt;Last Run&lt;\/th&gt;\r\n&lt;th&gt;Action&lt;\/th&gt;\r\n&lt;\/tr&gt;\r\n&lt;\/thead&gt;\r\n&lt;tbody&gt;\r\n&lt;?php\r\n\/\/ PostgreSQL Credentials\r\n$host = \"192.168.66.31\";\r\n$user = \"postgres\";\r\n$password = \"postgres\";\r\n$database = \"apt\";\r\n\r\n\/\/ Verbindung zur Datenbank herstellen\r\n$conn = new PDO(\"pgsql:host=$host;dbname=$database;user=$user;password=$password\");\r\n\r\n\/\/ SQL-Abfrage\r\n\/\/$query = \"SELECT * FROM zustand ORDER BY server\";\r\n$query = \"SELECT * FROM zustand ORDER BY (split_part(server, '.', 4)::int)\";\r\n$result = $conn-&gt;query($query);\r\n\r\nif ($result) {\r\nforeach ($result as $row) {\r\n$name = $row['server'];\r\n$version = $row['sys'];\r\n$updates = $row['pu'];\r\n$updateList = $row['ul'];\r\n$rootFree = $row['root_free'];\r\n$lastRun = $row['last_run'];\r\n$ip = $row['ip'];\r\n\r\n\/\/ Pr\u00fcfe, ob die IP in der idlist.log vorhanden ist\r\n$IPC = shell_exec(\"cat \/var\/www\/html\/patch\/idlist.log | grep $name | wc -l\");\r\n\r\n\/\/ $isIPConnected = in_array($ip, file('\/var\/www\/html\/patch\/idlist.log;\r\n\r\n\/\/ Bestimme den Inhalt der Action-Spalte basierend auf der IP-Verbindung\r\nif ($IPC != 0 AND $updates != 0) {\r\n$action = '&lt;span class=\"connected\"&gt;&#x2714; ssh connected&lt;\/span&gt;&lt;p&gt;&lt;button class=\"action-button\" onclick=\"openUpdatePage(\\'' . $name . '\\', \\'' . $name . '\\')\"&gt;Server Update&lt;\/button&gt;';\r\n}\r\nif ($IPC != 0 AND $updates == 0) {\r\n$action = '&lt;span class=\"connected\"&gt;&#x2714; ssh connected&lt;\/span&gt;';\r\n}\r\nif ($IPC == 0) {\r\n$action = '&lt;button class=\"action-button\" onclick=\"openSSHPage(\\'' . $name . '\\', \\'' . $name . '\\')\"&gt;connect SSH&lt;\/button&gt;';\r\n}\r\n\r\n\/\/ F\u00fcge eine Klasse f\u00fcr die Hervorhebung hinzu, wenn \"Updates Possible\" gr\u00f6\u00dfer als 0 ist\r\n$rowClass = ($updates &gt; 0) ? 'highlight-row' : '';\r\n\r\necho \"&lt;tr class='$rowClass'&gt;\";\r\necho \"&lt;td&gt;$name&lt;\/td&gt;\";\r\necho \"&lt;td&gt;$version&lt;\/td&gt;\";\r\necho \"&lt;td&gt;$updates&lt;\/td&gt;\";\r\n\r\n\/\/ Wenn \"Updates Possible\" gr\u00f6\u00dfer als 0 ist, zeige die Textarea\r\nif ($updates &gt; 0) {\r\necho \"&lt;td&gt;&lt;textarea rows='6' readonly&gt;$updateList&lt;\/textarea&gt;&lt;\/td&gt;\";\r\n} else {\r\necho \"&lt;td&gt;$updateList&lt;\/td&gt;\";\r\n}\r\n\r\necho \"&lt;td&gt;$rootFree&lt;\/td&gt;\";\r\necho \"&lt;td&gt;$lastRun&lt;\/td&gt;\";\r\necho \"&lt;td&gt;$action&lt;\/td&gt;\";\r\necho \"&lt;\/tr&gt;\";\r\n}\r\n} else {\r\necho \"&lt;tr&gt;&lt;td colspan='7'&gt;Error fetching data.&lt;\/td&gt;&lt;\/tr&gt;\";\r\n}\r\n\r\n$conn = null; \/\/ Verbindung schlie\u00dfen\r\n?&gt;\r\n&lt;\/tbody&gt;\r\n&lt;\/table&gt;\r\n&lt;\/div&gt;\r\n\r\n&lt;script&gt;\r\nfunction openUpdatePage(serverName, serverIP) {\r\nwindow.open('supdate.php?ip=' + serverIP, '_blank');\r\n}\r\nfunction openSSHPage(serverName, serverIP) {\r\nwindow.open('sid.php?ip=' + serverIP, '_blank');\r\n}\r\n\r\n&lt;\/script&gt;\r\n\r\n&lt;\/body&gt;\r\n\r\n&lt;\/html&gt;<\/code><\/pre>\n<\/li>\n<li>erzeugen des Skripts f\u00fcr den Import der SSH-Keys (\/var\/www\/html\/patch\/imp.sh)\n<pre class=\"lang:default decode:true\">ip=`\/bin\/cat \/var\/www\/html\/patch\/simp.tmp`\r\nsshpass -p \"ROOTPASSWORT\" ssh-copy-id -i \/root\/.ssh\/id_rsa.pub root@$ip<\/pre>\n<\/li>\n<li>erzeugen des PHP \u00dcbergang f\u00fcr den Import der SSH-Keys (\/var\/www\/html\/patch\/sid.php) &lt;\n<pre class=\"lang:default decode:true\">!--?php $ip=$_GET[ip]; shell_exec(\"sudo echo $ip &gt; \/var\/www\/html\/patch\/simp.tmp\"); $d=shell_exec(\"sudo \/var\/www\/html\/patch\/imp.sh\"); shell_exec(\"sudo echo $ip &gt;&gt; \/var\/www\/html\/patch\/idlist.log\"); echo \"$d\"; echo $ip ?--&gt;\r\n<\/pre>\n<\/li>\n<li>erzeugen des PHP-Skrips f\u00fcr das Updaten (\/var\/www\/html\/patch\/supdate.sh) &lt;\n<pre class=\"lang:default decode:true\">!--?php $ip=$_GET[ip]; \/\/shell_exec(\"sudo echo $ip &gt; \/var\/www\/html\/patch\/simp.tmp\"); $d=shell_exec(\"sudo ssh root@$ip 'apt upgrade -y'\"); $xd=shell_exec(\"sudo ssh root@$ip '\/local\/patch.sh'\"); \/\/shell_exec(\"sudo echo $ip &gt;&gt; \/var\/www\/html\/patch\/idlist.log\"); echo \"$d\"; echo \"$xd\"; echo $ip ?--&gt;<\/pre>\n<ul>\n<li>erzeugen des Skripts f\u00fcr die Satellite-Server (\/var\/www\/html\/patch\/patch.sh)\n<pre class=\"lang:default decode:true\">#!\/bin\/bash\r\n\r\n# PostgreSQL Credentials\r\nPG_HOST=\"IP-DES-POSTGRESQL-SERVER\"\r\nPG_USER=\"apt\"\r\nPG_PASSWORD=\"apt123\"\r\nPG_DATABASE=\"apt\"\r\n\r\n# Funktion zum Einf\u00fcgen oder Aktualisieren von Daten in die PostgreSQL-Tabelle\r\ninsert_or_update_data() {\r\n    local server_ip=\"$1\"\r\n    local debian_version=\"$2\"\r\n    local updates_possible=\"$3\"\r\n    local update_list=\"$4\"\r\n    local root_free=\"$5\"\r\n    local current_datetime=\"$(date +'%Y-%m-%d %H:%M:%S')\"\r\n\r\n    # SQL-Statement zum Einf\u00fcgen oder Aktualisieren von Daten in die Tabelle\r\n    psql -h \"$PG_HOST\" -U \"$PG_USER\" -d \"$PG_DATABASE\" -c \"INSERT INTO zustand (server, sys, pu, ul, root_free, last_run) VALUES ('$server_ip', '$debian_version', '$updates_possible', '$update_list', '$root_free', '$current_datetime') ON CONFLICT (server) DO UPDATE SET sys='$debian_version', pu='$updates_possible', ul='$update_list', root_free='$root_free', last_run='$current_datetime';\"\r\n}\r\n\r\n# Hauptskript\r\n\r\n# Aktualisieren Sie die Paketliste\r\napt update\r\nif ! command -v psql &amp;&gt; \/dev\/null\r\nthen\r\n    echo \"psql is not installed. Installing postgresql-client...\"\r\n    apt install -y postgresql-client\r\nfi\r\n# Erfassen von Systeminformationen\r\nserver_ip=$(hostname -I | awk '{print $1}')  # IP-Adresse des Servers\r\ndebian_version=$(lsb_release -ds)  # Aktuelle Debian-Version\r\nupdate_output=$(apt list --upgradable 2&gt;\/dev\/null |grep -v \"Listing\" |grep -v \"Auflistung\" 2&gt;\/dev\/null)  # Ausgabe der m\u00f6glichen Updates\r\nupdates_possible=$(apt list --upgradable 2&gt;\/dev\/null |grep -v \"Listing\" |grep -v \"Auflistung\" 2&gt;\/dev\/null | wc -l)  # Anzahl der m\u00f6glichen Updates\r\nupdate_list=\"$update_output\"  # Liste der m\u00f6glichen Updates\r\nroot_free=$(df -h \/ | awk 'NR==2 {print $4}')  # Freier Speicherplatz auf der Root-Partition\r\n\r\n# F\u00fchren Sie die Funktion zum Einf\u00fcgen oder Aktualisieren von Daten in die PostgreSQL-Tabelle aus\r\ninsert_or_update_data \"$server_ip\" \"$debian_version\" \"$updates_possible\" \"$update_list\" \"$root_free\"\r\n\r\necho \"Daten erfolgreich in die PostgreSQL-Tabelle eingef\u00fcgt oder aktualisiert.\"\r\n<\/pre>\n<\/li>\n<li>Einrichtung eines Satellitenserver:\n<pre class=\"lang:default decode:true\">mkdir \/local \r\nwget http:\/\/192.168.66.31\/patch\/patch.sh -O \/local\/patch.sh \r\nchmod 777 \/local\/patch.sh \r\necho \"59 * * * * \/local\/patch.sh &gt; \/dev\/null 2&gt;&amp;1\" &gt;&gt; \/var\/spool\/cron\/crontabs\/root \r\n\/local\/patch.sh<\/pre>\n<\/li>\n<li>Nun kann die erstellte Webseite (index.php) mit einem Browser aufgerufen werden.<\/li>\n<li>Jeder neue Satellit muss mit einem Klick auf den Button \u201econnect-SSH\u201c zuerst verbunden werden.<\/li>\n<li>Danach kann er mit dem Button Update-Server aktualisiert werden.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Debian Patchmanagement Ziel ist es ein einfaches Patchmanagement mit Webinterface f\u00fcr eine Anzahl von Debian Servern zu schaffen. Voraussetzungen: Ein Debian Server mit folgenden Paketen: apache2, php, postgresql-server, php-pgsql, openssh-server, sshpass, sudo &nbsp; Installation des Management-Servers: Erzeugen eines RSA-Schl\u00fcssel &#8222;ssh-keygen&#8220;&#8230; <a class=\"more-link\" href=\"https:\/\/www.bmetallica.de\/index.php\/debian-patchmanagement\/\">Continue Reading &rarr;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-409","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Debian Patchmanagement - bmetallica.de<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.bmetallica.de\/index.php\/debian-patchmanagement\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Debian Patchmanagement - bmetallica.de\" \/>\n<meta property=\"og:description\" content=\"Debian Patchmanagement Ziel ist es ein einfaches Patchmanagement mit Webinterface f\u00fcr eine Anzahl von Debian Servern zu schaffen. Voraussetzungen: Ein Debian Server mit folgenden Paketen: apache2, php, postgresql-server, php-pgsql, openssh-server, sshpass, sudo &nbsp; Installation des Management-Servers: Erzeugen eines RSA-Schl\u00fcssel &#8222;ssh-keygen&#8220;... Continue Reading &rarr;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.bmetallica.de\/index.php\/debian-patchmanagement\/\" \/>\n<meta property=\"og:site_name\" content=\"bmetallica.de\" \/>\n<meta property=\"article:modified_time\" content=\"2023-12-03T00:58:01+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/www.bmetallica.de\/wp-content\/uploads\/2023\/12\/manage-300x155.jpg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data1\" content=\"6\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.bmetallica.de\\\/index.php\\\/debian-patchmanagement\\\/\",\"url\":\"https:\\\/\\\/www.bmetallica.de\\\/index.php\\\/debian-patchmanagement\\\/\",\"name\":\"Debian Patchmanagement - bmetallica.de\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.bmetallica.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.bmetallica.de\\\/index.php\\\/debian-patchmanagement\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.bmetallica.de\\\/index.php\\\/debian-patchmanagement\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/www.bmetallica.de\\\/wp-content\\\/uploads\\\/2023\\\/12\\\/manage-300x155.jpg\",\"datePublished\":\"2023-12-03T00:22:46+00:00\",\"dateModified\":\"2023-12-03T00:58:01+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.bmetallica.de\\\/index.php\\\/debian-patchmanagement\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.bmetallica.de\\\/index.php\\\/debian-patchmanagement\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.bmetallica.de\\\/index.php\\\/debian-patchmanagement\\\/#primaryimage\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/www.bmetallica.de\\\/wp-content\\\/uploads\\\/2023\\\/12\\\/manage.jpg?fit=1896%2C978&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/www.bmetallica.de\\\/wp-content\\\/uploads\\\/2023\\\/12\\\/manage.jpg?fit=1896%2C978&ssl=1\",\"width\":1896,\"height\":978},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.bmetallica.de\\\/index.php\\\/debian-patchmanagement\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.bmetallica.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Debian Patchmanagement\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.bmetallica.de\\\/#website\",\"url\":\"https:\\\/\\\/www.bmetallica.de\\\/\",\"name\":\"bmetallica.de\",\"description\":\"das Wissen der Welt geh\u00f6rt den Menschen\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.bmetallica.de\\\/#\\\/schema\\\/person\\\/95f9265fa19015a54cb0537aad39bf97\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.bmetallica.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.bmetallica.de\\\/#\\\/schema\\\/person\\\/95f9265fa19015a54cb0537aad39bf97\",\"name\":\"bmetallica\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1a90b65655e93274890daff126ceebcc75e52e4da445ee5c6831e925e3c619cf?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1a90b65655e93274890daff126ceebcc75e52e4da445ee5c6831e925e3c619cf?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1a90b65655e93274890daff126ceebcc75e52e4da445ee5c6831e925e3c619cf?s=96&d=mm&r=g\",\"caption\":\"bmetallica\"},\"logo\":{\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1a90b65655e93274890daff126ceebcc75e52e4da445ee5c6831e925e3c619cf?s=96&d=mm&r=g\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Debian Patchmanagement - bmetallica.de","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.bmetallica.de\/index.php\/debian-patchmanagement\/","og_locale":"de_DE","og_type":"article","og_title":"Debian Patchmanagement - bmetallica.de","og_description":"Debian Patchmanagement Ziel ist es ein einfaches Patchmanagement mit Webinterface f\u00fcr eine Anzahl von Debian Servern zu schaffen. Voraussetzungen: Ein Debian Server mit folgenden Paketen: apache2, php, postgresql-server, php-pgsql, openssh-server, sshpass, sudo &nbsp; Installation des Management-Servers: Erzeugen eines RSA-Schl\u00fcssel &#8222;ssh-keygen&#8220;... Continue Reading &rarr;","og_url":"https:\/\/www.bmetallica.de\/index.php\/debian-patchmanagement\/","og_site_name":"bmetallica.de","article_modified_time":"2023-12-03T00:58:01+00:00","og_image":[{"url":"http:\/\/www.bmetallica.de\/wp-content\/uploads\/2023\/12\/manage-300x155.jpg","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Gesch\u00e4tzte Lesezeit":"6\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.bmetallica.de\/index.php\/debian-patchmanagement\/","url":"https:\/\/www.bmetallica.de\/index.php\/debian-patchmanagement\/","name":"Debian Patchmanagement - bmetallica.de","isPartOf":{"@id":"https:\/\/www.bmetallica.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.bmetallica.de\/index.php\/debian-patchmanagement\/#primaryimage"},"image":{"@id":"https:\/\/www.bmetallica.de\/index.php\/debian-patchmanagement\/#primaryimage"},"thumbnailUrl":"http:\/\/www.bmetallica.de\/wp-content\/uploads\/2023\/12\/manage-300x155.jpg","datePublished":"2023-12-03T00:22:46+00:00","dateModified":"2023-12-03T00:58:01+00:00","breadcrumb":{"@id":"https:\/\/www.bmetallica.de\/index.php\/debian-patchmanagement\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.bmetallica.de\/index.php\/debian-patchmanagement\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.bmetallica.de\/index.php\/debian-patchmanagement\/#primaryimage","url":"https:\/\/i0.wp.com\/www.bmetallica.de\/wp-content\/uploads\/2023\/12\/manage.jpg?fit=1896%2C978&ssl=1","contentUrl":"https:\/\/i0.wp.com\/www.bmetallica.de\/wp-content\/uploads\/2023\/12\/manage.jpg?fit=1896%2C978&ssl=1","width":1896,"height":978},{"@type":"BreadcrumbList","@id":"https:\/\/www.bmetallica.de\/index.php\/debian-patchmanagement\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.bmetallica.de\/"},{"@type":"ListItem","position":2,"name":"Debian Patchmanagement"}]},{"@type":"WebSite","@id":"https:\/\/www.bmetallica.de\/#website","url":"https:\/\/www.bmetallica.de\/","name":"bmetallica.de","description":"das Wissen der Welt geh\u00f6rt den Menschen","publisher":{"@id":"https:\/\/www.bmetallica.de\/#\/schema\/person\/95f9265fa19015a54cb0537aad39bf97"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.bmetallica.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":["Person","Organization"],"@id":"https:\/\/www.bmetallica.de\/#\/schema\/person\/95f9265fa19015a54cb0537aad39bf97","name":"bmetallica","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/1a90b65655e93274890daff126ceebcc75e52e4da445ee5c6831e925e3c619cf?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1a90b65655e93274890daff126ceebcc75e52e4da445ee5c6831e925e3c619cf?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1a90b65655e93274890daff126ceebcc75e52e4da445ee5c6831e925e3c619cf?s=96&d=mm&r=g","caption":"bmetallica"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/1a90b65655e93274890daff126ceebcc75e52e4da445ee5c6831e925e3c619cf?s=96&d=mm&r=g"}}]}},"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/P8uhVF-6B","jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/www.bmetallica.de\/index.php\/wp-json\/wp\/v2\/pages\/409","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bmetallica.de\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.bmetallica.de\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.bmetallica.de\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bmetallica.de\/index.php\/wp-json\/wp\/v2\/comments?post=409"}],"version-history":[{"count":33,"href":"https:\/\/www.bmetallica.de\/index.php\/wp-json\/wp\/v2\/pages\/409\/revisions"}],"predecessor-version":[{"id":444,"href":"https:\/\/www.bmetallica.de\/index.php\/wp-json\/wp\/v2\/pages\/409\/revisions\/444"}],"wp:attachment":[{"href":"https:\/\/www.bmetallica.de\/index.php\/wp-json\/wp\/v2\/media?parent=409"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}