{"id":1687,"date":"2024-03-18T11:00:10","date_gmt":"2024-03-18T10:00:10","guid":{"rendered":"https:\/\/abchaus.synology.me\/wordpress\/?p=1687"},"modified":"2025-06-19T13:33:34","modified_gmt":"2025-06-19T11:33:34","slug":"ssh-agent-key-unter-windows-verwenden","status":"publish","type":"post","link":"https:\/\/abchaus.synology.me\/wordpress\/blog\/2024\/03\/18\/ssh-agent-key-unter-windows-verwenden\/","title":{"rendered":"SSH + Agent (Key) unter Windows verwenden"},"content":{"rendered":"<p>In Windows 10 und h\u00f6her ist es jetzt m\u00f6glich SSH nativ zu verwenden und sogar Keys zu generieren.<\/p>\n<p>dazu in einer Eingabeaufforderung folgenden Befehl eingeben, die Vorgaben mit Enter best\u00e4tigen oder wer es sicherer haben m\u00f6chte ein Passwort f\u00fcr den Private-Key angeben, welches man sich nat\u00fcrlich auch merken muss):\u00a0 <strong>ssh-keygen -t ed25519<\/strong><\/p>\n<figure id=\"attachment_1688\" aria-describedby=\"caption-attachment-1688\" style=\"width: 300px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/abchaus.synology.me\/wordpress\/wp-content\/uploads\/2024\/03\/ssh-keygen.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1688 size-medium\" src=\"https:\/\/abchaus.synology.me\/wordpress\/wp-content\/uploads\/2024\/03\/ssh-keygen-300x157.png\" alt=\"Eingabeaufforderung\" width=\"300\" height=\"157\" srcset=\"https:\/\/abchaus.synology.me\/wordpress\/wp-content\/uploads\/2024\/03\/ssh-keygen-300x157.png 300w, https:\/\/abchaus.synology.me\/wordpress\/wp-content\/uploads\/2024\/03\/ssh-keygen-150x78.png 150w, https:\/\/abchaus.synology.me\/wordpress\/wp-content\/uploads\/2024\/03\/ssh-keygen-768x402.png 768w, https:\/\/abchaus.synology.me\/wordpress\/wp-content\/uploads\/2024\/03\/ssh-keygen.png 979w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-1688\" class=\"wp-caption-text\">Eingabeaufforderung<\/figcaption><\/figure>\n<p>Dadurch werden zwei Files (ein Private-Key und ein Public-Key) im Verzeichnis <strong>.ssh<\/strong> des Users erzeugt.<\/p>\n<p>Um das ganze jetzt komfortabel nutzen zu k\u00f6nnen, muss man den <strong>Private-Key<\/strong> in den <strong>SSH-Agent<\/strong> importieren:<\/p>\n<p>Dazu eine <strong>Powershell<\/strong> mit Administrativen Rechten starten (Als Administrator ausf\u00fchren) und folgende Befehle einf\u00fcgen und ausf\u00fchren:<\/p>\n<p><code># By default the ssh-agent service is disabled. Configure it to start automatically.<\/code><br \/>\n<code># Make sure you're running as an Administrator.<\/code><br \/>\n<code>Get-Service ssh-agent | Set-Service -StartupType Automatic<\/code><\/p>\n<p><code># Start the service<\/code><br \/>\n<code>Start-Service ssh-agent<\/code><\/p>\n<p><code># This should return a status of Running<\/code><br \/>\n<code>Get-Service ssh-agent<\/code><\/p>\n<p><code># Now load your key files into ssh-agent<\/code><br \/>\n<code>ssh-add $env:USERPROFILE\\.ssh\\id_ed25519<\/code><\/p>\n<figure id=\"attachment_1690\" aria-describedby=\"caption-attachment-1690\" style=\"width: 300px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/abchaus.synology.me\/wordpress\/wp-content\/uploads\/2024\/03\/power-shell-admin.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1690 size-medium\" src=\"https:\/\/abchaus.synology.me\/wordpress\/wp-content\/uploads\/2024\/03\/power-shell-admin-300x149.png\" alt=\"PowerShell als Admin\" width=\"300\" height=\"149\" srcset=\"https:\/\/abchaus.synology.me\/wordpress\/wp-content\/uploads\/2024\/03\/power-shell-admin-300x149.png 300w, https:\/\/abchaus.synology.me\/wordpress\/wp-content\/uploads\/2024\/03\/power-shell-admin-150x75.png 150w, https:\/\/abchaus.synology.me\/wordpress\/wp-content\/uploads\/2024\/03\/power-shell-admin-768x382.png 768w, https:\/\/abchaus.synology.me\/wordpress\/wp-content\/uploads\/2024\/03\/power-shell-admin.png 789w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-1690\" class=\"wp-caption-text\">Das sollte dann in etwa so aussehen<\/figcaption><\/figure>\n<p>Nach dem Import, sollte der Private-Key (<strong>id_ed25519<\/strong>) auf einen USB-Stick kopiert und vom Rechner gel\u00f6scht werden. Den USB-Stick an einem sicheren Ort aufbewahren, <span style=\"color: #ff0000\">die Datei ist sehr wichtig!<span style=\"color: #000000\"> Wer es noch sicherer haben will, aus welchen Gr\u00fcnden auch immer kann auch <strong><a href=\"https:\/\/sourceforge.net\/projects\/veracrypt\/files\/latest\/download\" target=\"_blank\" rel=\"noopener\">VeraCrypt<\/a><\/strong> verwenden um den gesamten USB-Stick zu Verschl\u00fcsseln und mit einem Passwort sichern.<\/span> <\/span><\/p>\n<p>Den Inhalt von der Datei <strong>id_ed25519.pub<\/strong> (zu finden im Verzeichnis <strong>.ssh<\/strong> im Userverzeichnis &#8211; z.B. <strong>\\users\\ak\\.ssh<\/strong>) auf dem Zielrechner in das File <strong>authorized_keys<\/strong> in den Ordner <strong>.ssh<\/strong> im Homeverzeichnis des gew\u00fcnschten Users kopieren (z.B. \/home\/pi\/).<\/p>\n<p>Jetzt sollte es m\u00f6glich sein sich mit dem Key auf das Zielsystem per SSH zu verbinden. Dazu eine Eingabeaufforderung oder eine Powershell \u00f6ffnen und folgendes eingeben:<\/p>\n<p><strong>ssh user@ip-adresse -p 3522<\/strong> (z.B. pi@192.168.0.77) -p (der Port) ist optional und muss nur angegeben werden, wenn er sich vom Standport (22) unterscheidet.<\/p>\n<p>Beim ersten Verbindungsversuch wird eine &#8222;Fehlermeldung&#8220; erscheinen, diese einfach mit &#8222;yes&#8220; best\u00e4tigen.<\/p>\n<p><code>The authenticity of host '[192.168.0.77]:3522 ([192.168.0.77]:3522)' can't be established.<\/code><br \/>\n<code>ECDSA key fingerprint is SHA256:NKDWHE4urTdCLItv0MV2vBxLvMw6+5hJN9kemHYn0zw.<\/code><br \/>\n<code>Are you sure you want to continue connecting (yes\/no\/[fingerprint])? yes<\/code><\/p>\n<p>Um es noch komfortabler zu machen, kann man im Verzeichnis <strong>.ssh<\/strong> (im Windows Userverzeichnis) eine Datei <strong>config<\/strong> mit folgendem Inhalt anlegen:<\/p>\n<p><code>Host pi<\/code><br \/>\n<code>\u00a0 HostName 192.168.0.77<\/code><br \/>\n<code>\u00a0 User pi<\/code><br \/>\n<code>\u00a0 Port 22<\/code><\/p>\n<p>F\u00fcr jeden Host einen entsprechenden Block anlegen, obwohl die Eintr\u00e4ge eigentlich selbsterkl\u00e4rend sind hier trotzdem eine kleine Hilfestellung.<\/p>\n<ul>\n<li>Host = ein beliebiger Name, der als Alias zum Verbinden dient<\/li>\n<li>HostName = die IP-Adresse oder der FQDN (Hostname)<\/li>\n<li>User = der Username der f\u00fcr die Authentifizierung verwendet wird<\/li>\n<li>Port = Der SSH Port muss auch angebene werden, wenn es der Defaultport (22) ist.<\/li>\n<\/ul>\n<p>Wenn die <strong>config<\/strong> Datei angelegt ist kann man in einer normalen Eingabeaufforderung einfach ssh und den HOST (diesen beliebigen Namen) &#8211; z.B. <strong>ssh pi<\/strong> angeben um sich schnell zu verbinden.<\/p>\n<p>Im Windows Terminal, welches man sich \u00fcber den Microsoft-Store installieren kann, oder per WinGet (falls vorhanden) dazu einfach in einer Eingabeaufforderung<br \/>\n<code><strong><em>winget install microsoft.windowsterminal<\/em><\/strong><\/code><br \/>\neingeben. Dort gibt es sogenannte Profile um sich noch schneller und einfacher verbinden zu k\u00f6nnen.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1698\" src=\"https:\/\/abchaus.synology.me\/wordpress\/wp-content\/uploads\/2024\/03\/Windows-Terminal.png\" alt=\"\" width=\"341\" height=\"316\" srcset=\"https:\/\/abchaus.synology.me\/wordpress\/wp-content\/uploads\/2024\/03\/Windows-Terminal.png 341w, https:\/\/abchaus.synology.me\/wordpress\/wp-content\/uploads\/2024\/03\/Windows-Terminal-300x278.png 300w, https:\/\/abchaus.synology.me\/wordpress\/wp-content\/uploads\/2024\/03\/Windows-Terminal-150x139.png 150w\" sizes=\"auto, (max-width: 341px) 100vw, 341px\" \/><\/p>\n<p>Hier im Profil als ausf\u00fchrende Datei z.B. <em><strong>ssh pi<\/strong><\/em> (dazu ist aber eine config Datei notwendig) angeben. Das funktioniert aber nur wenn man den <strong>Private-Key<\/strong> vorher in den <strong>SSH-Agent<\/strong> importiert hat. Die alternative Methode <strong>ohne config<\/strong> mit <strong><em>ssh pi@192.168.0.77 -p 35022 -i c:\\users\\ak\\.ssh\\ id_ed25519<\/em><\/strong> w\u00fcrde ich nicht empfehlen, da man hier den <strong>Private-Key<\/strong> auf dem System lassen muss und sollte der Key ein Passwort haben, dieses jedes mal eingeben muss.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1699 alignright\" src=\"https:\/\/abchaus.synology.me\/wordpress\/wp-content\/uploads\/2024\/03\/linux-tux.222x256.png\" alt=\"\" width=\"82\" height=\"95\" srcset=\"https:\/\/abchaus.synology.me\/wordpress\/wp-content\/uploads\/2024\/03\/linux-tux.222x256.png 222w, https:\/\/abchaus.synology.me\/wordpress\/wp-content\/uploads\/2024\/03\/linux-tux.222x256-130x150.png 130w\" sizes=\"auto, (max-width: 82px) 100vw, 82px\" \/>Wer es noch mehr &#8222;fancy&#8220; haben m\u00f6chte, kann sich <strong>SSHS<\/strong> installieren, damit erh\u00e4lt man ein Men\u00fc um sich schnell auf unterschiedliche Rechner zu verbinden, sieht dann mehr nach Linux-Shell aus.<\/p>\n<figure id=\"attachment_1692\" aria-describedby=\"caption-attachment-1692\" style=\"width: 639px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1692 size-full\" src=\"https:\/\/abchaus.synology.me\/wordpress\/wp-content\/uploads\/2024\/03\/sshs.png\" alt=\"\" width=\"639\" height=\"264\" srcset=\"https:\/\/abchaus.synology.me\/wordpress\/wp-content\/uploads\/2024\/03\/sshs.png 639w, https:\/\/abchaus.synology.me\/wordpress\/wp-content\/uploads\/2024\/03\/sshs-300x124.png 300w, https:\/\/abchaus.synology.me\/wordpress\/wp-content\/uploads\/2024\/03\/sshs-150x62.png 150w\" sizes=\"auto, (max-width: 639px) 100vw, 639px\" \/><figcaption id=\"caption-attachment-1692\" class=\"wp-caption-text\">SSHS<\/figcaption><\/figure>\n<p>Um SSHS zu installieren sind ein paar Schritte notwendig:<\/p>\n<p>Eine Powershell mit Administrativen Rechten starten (Als Administrator ausf\u00fchren) und folgende Zeile einf\u00fcgen und ausf\u00fchren:<\/p>\n<p><code>Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https:\/\/community.chocolatey.org\/install.ps1'))<\/code><\/p>\n<p>Danach <strong>choco install sshs<\/strong> eingeben und mit Enter best\u00e4tigen (eventuell muss man noch einmal <strong>y<\/strong> eingeben um die Installation abzuschlie\u00dfen.)<\/p>\n<p>Um Choco und ssh auf den aktuellen Stand zu bringen, in einer Powershell (mit Adminrechten) folgendes eingeben: <strong>choco upgrade all<\/strong><\/p>\n<p>Unter <strong>C:\\ProgramData\\chocolatey\\bin\\<\/strong> wurde das File <strong>sshs.exe<\/strong> angelegt, ab besten eine Verkn\u00fcpfung davon auf dem Desktop erstellen f\u00fcr einen schnellen Zugriff.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In Windows 10 und h\u00f6her ist es jetzt m\u00f6glich SSH nativ zu verwenden und sogar Keys zu generieren. dazu in<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[],"class_list":["post-1687","post","type-post","status-publish","format-standard","hentry","category-microsoft"],"_links":{"self":[{"href":"https:\/\/abchaus.synology.me\/wordpress\/wp-json\/wp\/v2\/posts\/1687","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/abchaus.synology.me\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/abchaus.synology.me\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/abchaus.synology.me\/wordpress\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/abchaus.synology.me\/wordpress\/wp-json\/wp\/v2\/comments?post=1687"}],"version-history":[{"count":12,"href":"https:\/\/abchaus.synology.me\/wordpress\/wp-json\/wp\/v2\/posts\/1687\/revisions"}],"predecessor-version":[{"id":1777,"href":"https:\/\/abchaus.synology.me\/wordpress\/wp-json\/wp\/v2\/posts\/1687\/revisions\/1777"}],"wp:attachment":[{"href":"https:\/\/abchaus.synology.me\/wordpress\/wp-json\/wp\/v2\/media?parent=1687"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/abchaus.synology.me\/wordpress\/wp-json\/wp\/v2\/categories?post=1687"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/abchaus.synology.me\/wordpress\/wp-json\/wp\/v2\/tags?post=1687"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}