{"id":1414,"date":"2026-10-17T16:43:35","date_gmt":"2026-10-17T15:43:35","guid":{"rendered":"https:\/\/dediseedbox.com\/wiki\/?post_type=kbe_knowledgebase&#038;p=1414"},"modified":"2026-10-17T16:48:53","modified_gmt":"2026-10-17T15:48:53","slug":"ssh-key-guide","status":"publish","type":"kbe_knowledgebase","link":"https:\/\/dediseedbox.com\/wiki\/knowledgebase\/ssh-key-guide\/","title":{"rendered":"SSH Key Guide"},"content":{"rendered":"\n<style>\n.dsb-kb pre{overflow-x:auto;white-space:pre;padding:1em;border-radius:8px;background:rgba(127,127,127,.1);font-size:.88em}\n.dsb-kb pre.dsb-wrap{white-space:pre-wrap;word-break:break-all}\n.dsb-kb td code{overflow-wrap:anywhere}\n.dsb-kb .dsb-sub{margin-top:-.4em;opacity:.75}\n.dsb-kb .dsb-note{padding:.8em 1em;border-left:4px solid #1d4ed8;border-radius:4px;background:rgba(29,78,216,.07);margin:1em 0}\n.dsb-kb .dsb-fix{list-style:none;padding:0;margin-left:0}\n.dsb-kb .dsb-fix li{padding:.8em 0;border-bottom:1px solid rgba(127,127,127,.25);margin:0}\n.dsb-kb .dsb-fix .dsb-symptom{display:block;font-weight:600;margin-bottom:.2em}\n.dsb-kb .dsb-tip{margin:2em 0 0;padding-top:1em;border-top:1px solid rgba(127,127,127,.25)}\n@media (max-width:600px){.dsb-kb table,.dsb-kb tbody,.dsb-kb tr,.dsb-kb th,.dsb-kb td{display:block;width:auto}}\n<\/style>\n\n<div class=\"dsb-kb\">\n\n<p>You can log in to your SSH app with a key instead of typing your password each time. Setup takes about five minutes, and <strong>your password keeps working as a backup<\/strong>.<\/p>\n\n<h2>1. Your connection details<\/h2>\n\n<p>You&#8217;ll need these from your SSH app details. In the commands below, replace <code>USERNAME<\/code>, <code>PORT<\/code> and <code>SERVER<\/code> with your own values.<\/p>\n\n<table>\n<tbody>\n<tr><th>Server<\/th><td><code>SERVER<\/code>, for example <code>nl5511.dediseedbox.com<\/code><\/td><\/tr>\n<tr><th>Port<\/th><td><code>PORT<\/code>, your SSH app&#8217;s port<\/td><\/tr>\n<tr><th>Username<\/th><td><code>USERNAME<\/code><\/td><\/tr>\n<tr><th>Password<\/th><td>Your SSH app password, needed once to add your key<\/td><\/tr>\n<\/tbody>\n<\/table>\n\n<h2>2. Create a key on your computer<\/h2>\n\n<p>Skip this section if you already have a key. You can check with <code>ls ~\/.ssh\/id_ed25519.pub<\/code> on Mac or Linux, or <code>dir $env:USERPROFILE\\.ssh\\id_ed25519.pub<\/code> in Windows PowerShell.<\/p>\n\n<ol>\n<li>Open a terminal (Mac or Linux) or PowerShell (Windows).<\/li>\n<li>Run:\n<pre class=\"wp-block-code\"><code>ssh-keygen -t ed25519<\/code><\/pre><\/li>\n<li>Press <strong>Enter<\/strong> to accept the default location.<\/li>\n<li>Enter a passphrase when asked. This is recommended, because it protects your key if your computer is ever lost or stolen.<\/li>\n<\/ol>\n\n<p>This creates two files:<\/p>\n\n<ul>\n<li><code>id_ed25519<\/code> is your <strong>private key<\/strong>. Never share it or copy it anywhere.<\/li>\n<li><code>id_ed25519.pub<\/code> is your <strong>public key<\/strong>. This is the one you add to your SSH app.<\/li>\n<\/ul>\n\n<p class=\"dsb-note\">Using PuTTY? Skip to option C in the next section. PuTTY makes its own keys.<\/p>\n\n<h2>3. Add your key to your SSH app<\/h2>\n\n<p>Your keys are kept in one file: <code>\/downloads\/Apps\/SSH\/authorized_keys<\/code>. Pick whichever option suits you.<\/p>\n\n<h3>Option A: Mac or Linux<\/h3>\n\n<pre class=\"wp-block-code dsb-wrap\"><code>cat ~\/.ssh\/id_ed25519.pub | ssh -p PORT USERNAME@SERVER \"cat &gt;&gt; \/downloads\/Apps\/SSH\/authorized_keys\"<\/code><\/pre>\n\n<p>Enter your password when asked. That&#8217;s the last time you&#8217;ll need it.<\/p>\n\n<h3>Option B: Windows PowerShell<\/h3>\n\n<pre class=\"wp-block-code dsb-wrap\"><code>Type $env:USERPROFILE\\.ssh\\id_ed25519.pub | ssh -p PORT USERNAME@SERVER \"cat &gt;&gt; \/downloads\/Apps\/SSH\/authorized_keys\"<\/code><\/pre>\n\n<p>Enter your password when asked. That&#8217;s the last time you&#8217;ll need it.<\/p>\n\n<p class=\"dsb-note\"><code>ssh-copy-id<\/code> doesn&#8217;t work with your SSH app, because it saves keys to a different place. Use the commands above instead.<\/p>\n\n<h3>Option C: PuTTY<\/h3>\n\n<p class=\"dsb-sub\">PuTTY uses its own key format, made with PuTTYgen.<\/p>\n\n<ol>\n<li>Open <strong>PuTTYgen<\/strong>. Click <strong>Load<\/strong> to open a key you already have, or choose <strong>EdDSA (Ed25519)<\/strong> and click <strong>Generate<\/strong> to make a new one.<\/li>\n<li>Click <strong>Save private key<\/strong> to save a <code>.ppk<\/code> file.<\/li>\n<li>Copy all the text in the box labelled <strong>Public key for pasting into OpenSSH authorized_keys file<\/strong>.<\/li>\n<li>Log in to your SSH app with your password, then open your key file:\n<pre class=\"wp-block-code\"><code>nano \/downloads\/Apps\/SSH\/authorized_keys<\/code><\/pre><\/li>\n<li>Paste the key on its own line, then press <strong>Ctrl+O<\/strong>, <strong>Enter<\/strong> and <strong>Ctrl+X<\/strong> to save and exit.<\/li>\n<li>In PuTTY, go to <strong>Connection \u2192 SSH \u2192 Auth \u2192 Credentials<\/strong> and select your <code>.ppk<\/code> file under <strong>Private key file for authentication<\/strong>.<\/li>\n<li>Go back to <strong>Session<\/strong>, enter your server and port, and click <strong>Save<\/strong> so you don&#8217;t have to set this up again.<\/li>\n<\/ol>\n\n<p class=\"dsb-note\">Don&#8217;t use PuTTYgen&#8217;s <strong>Save public key<\/strong> button for this. It saves the key in a format your SSH app won&#8217;t accept.<\/p>\n\n<h3>Option D: File manager or SFTP<\/h3>\n\n<p class=\"dsb-sub\">Edit the file directly from your file manager or SFTP app.<\/p>\n\n<ol>\n<li>Open <code>\/downloads\/Apps\/SSH\/<\/code>.<\/li>\n<li>Open <code>authorized_keys<\/code> in a text editor, or create it if it isn&#8217;t there. The name has no file extension.<\/li>\n<li>Paste your public key on its own line and save.<\/li>\n<\/ol>\n\n<h2>4. Test your key<\/h2>\n\n<p>Your key works straight away. Log in as usual:<\/p>\n\n<pre class=\"wp-block-code\"><code>ssh -p PORT USERNAME@SERVER<\/code><\/pre>\n\n<p>If you get in without being asked for your password, you&#8217;re done. If you set a passphrase, you&#8217;ll be asked for that instead, which is expected.<\/p>\n\n<p>To confirm it&#8217;s definitely using your key and not your password:<\/p>\n\n<pre class=\"wp-block-code\"><code>ssh -p PORT -o PasswordAuthentication=no USERNAME@SERVER<\/code><\/pre>\n\n<p><strong>Optional shortcut:<\/strong> add this to <code>~\/.ssh\/config<\/code> on your computer, and you can then connect with just <code>ssh seedbox<\/code>. Rsync, scp and SFTP apps use it too.<\/p>\n\n<pre class=\"wp-block-code\"><code>Host seedbox\n    HostName SERVER\n    Port PORT\n    User USERNAME\n    IdentityFile ~\/.ssh\/id_ed25519<\/code><\/pre>\n\n<h2>5. Managing your keys<\/h2>\n\n<ul>\n<li><strong>Another computer:<\/strong> create a key on it and add it the same way. Each key goes on its own line in <code>\/downloads\/Apps\/SSH\/authorized_keys<\/code>.<\/li>\n<li><strong>Remove a key:<\/strong> delete its line from <code>\/downloads\/Apps\/SSH\/authorized_keys<\/code>. Do this straight away if a device is lost or you no longer use it.<\/li>\n<li><strong>Restarting your SSH app:<\/strong> your keys are kept, so there&#8217;s nothing to do.<\/li>\n<li><strong>Reinstalling your SSH app:<\/strong> this removes your keys and can give you a new port. Your password still works, so log in with it, then add your key again.<\/li>\n<\/ul>\n\n<h2>6. Troubleshooting<\/h2>\n\n<ul class=\"dsb-fix\">\n<li><span class=\"dsb-symptom\">Still asked for your password<\/span>Check your key is in the right file with <code>cat \/downloads\/Apps\/SSH\/authorized_keys<\/code>, including the exact name with no file extension. Then check each key is a single unbroken line starting with <code>ssh-ed25519<\/code> or <code>ssh-rsa<\/code>. Copying from some terminals splits long lines.<\/li>\n<li><span class=\"dsb-symptom\">The line starts with &#8220;&#8212;&#8211;BEGIN&#8221; or &#8220;&#8212;- BEGIN SSH2&#8221;<\/span>That&#8217;s the wrong format. &#8220;&#8212;&#8211;BEGIN&#8221; is a private key, so delete it straight away and create a new key pair. &#8220;&#8212;- BEGIN SSH2&#8221; came from PuTTYgen&#8217;s Save public key button; replace it with the text from the &#8220;Public key for pasting&#8221; box.<\/li>\n<li><span class=\"dsb-symptom\">&#8220;Server refused our key&#8221; in PuTTY<\/span>The key in PuTTY doesn&#8217;t match one in <code>\/downloads\/Apps\/SSH\/authorized_keys<\/code>. Load your <code>.ppk<\/code> in PuTTYgen and copy the &#8220;Public key for pasting&#8221; text into the file again.<\/li>\n<li><span class=\"dsb-symptom\">Your key isn&#8217;t in the default location<\/span>Point to it when connecting: <code>ssh -i \/path\/to\/key -p PORT USERNAME@SERVER<\/code>.<\/li>\n<li><span class=\"dsb-symptom\">You used ssh-copy-id<\/span>It saved your key somewhere your SSH app doesn&#8217;t look. Add it again using one of the options in section 3.<\/li>\n<li><span class=\"dsb-symptom\">Still stuck<\/span>Run <code>ssh -v -p PORT USERNAME@SERVER<\/code> and send the output to support. It never contains your private key.<\/li>\n<\/ul>\n\n<p class=\"dsb-tip\"><strong>\u2192 Keep your private key private.<\/strong> Only ever copy the <code>.pub<\/code> file or PuTTYgen&#8217;s &#8220;Public key for pasting&#8221; text. If you think your private key has been seen by anyone else, remove it from <code>\/downloads\/Apps\/SSH\/authorized_keys<\/code> and create a new one.<\/p>\n\n<\/div>\n\n","protected":false},"excerpt":{"rendered":"<p>You can log in to your SSH app with a key instead of typing your password each time. Setup takes about five minutes, and your password keeps working as a backup. 1. Your connection details You&#8217;ll need these from your SSH app details. In the commands below, replace USERNAME, PORT and SERVER with your own [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"template":"","kbe_taxonomy":[10],"kbe_tags":[],"class_list":["post-1414","kbe_knowledgebase","type-kbe_knowledgebase","status-publish","hentry","kbe_taxonomy-how-tos"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>SSH Key Guide -<\/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:\/\/dediseedbox.com\/wiki\/knowledgebase\/ssh-key-guide\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"SSH Key Guide -\" \/>\n<meta property=\"og:description\" content=\"You can log in to your SSH app with a key instead of typing your password each time. Setup takes about five minutes, and your password keeps working as a backup. 1. Your connection details You&#8217;ll need these from your SSH app details. In the commands below, replace USERNAME, PORT and SERVER with your own [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/dediseedbox.com\/wiki\/knowledgebase\/ssh-key-guide\/\" \/>\n<meta property=\"og:site_name\" content=\"Dedi Seedbox\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-17T15:48:53+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/dediseedbox.com\\\/wiki\\\/knowledgebase\\\/ssh-key-guide\\\/\",\"url\":\"https:\\\/\\\/dediseedbox.com\\\/wiki\\\/knowledgebase\\\/ssh-key-guide\\\/\",\"name\":\"SSH Key Guide -\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/dediseedbox.com\\\/wiki\\\/#website\"},\"datePublished\":\"2026-10-17T15:43:35+00:00\",\"dateModified\":\"2026-10-17T15:48:53+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/dediseedbox.com\\\/wiki\\\/knowledgebase\\\/ssh-key-guide\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/dediseedbox.com\\\/wiki\\\/knowledgebase\\\/ssh-key-guide\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/dediseedbox.com\\\/wiki\\\/knowledgebase\\\/ssh-key-guide\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/dediseedbox.com\\\/wiki\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Knowledgebase\",\"item\":\"https:\\\/\\\/dediseedbox.com\\\/wiki\\\/knowledgebase\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"SSH Key Guide\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/dediseedbox.com\\\/wiki\\\/#website\",\"url\":\"https:\\\/\\\/dediseedbox.com\\\/wiki\\\/\",\"name\":\"Dedi Seedbox\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/dediseedbox.com\\\/wiki\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"SSH Key Guide -","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:\/\/dediseedbox.com\/wiki\/knowledgebase\/ssh-key-guide\/","og_locale":"en_GB","og_type":"article","og_title":"SSH Key Guide -","og_description":"You can log in to your SSH app with a key instead of typing your password each time. Setup takes about five minutes, and your password keeps working as a backup. 1. Your connection details You&#8217;ll need these from your SSH app details. In the commands below, replace USERNAME, PORT and SERVER with your own [&hellip;]","og_url":"https:\/\/dediseedbox.com\/wiki\/knowledgebase\/ssh-key-guide\/","og_site_name":"Dedi Seedbox","article_modified_time":"2026-10-17T15:48:53+00:00","twitter_card":"summary_large_image","twitter_misc":{"Estimated reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/dediseedbox.com\/wiki\/knowledgebase\/ssh-key-guide\/","url":"https:\/\/dediseedbox.com\/wiki\/knowledgebase\/ssh-key-guide\/","name":"SSH Key Guide -","isPartOf":{"@id":"https:\/\/dediseedbox.com\/wiki\/#website"},"datePublished":"2026-10-17T15:43:35+00:00","dateModified":"2026-10-17T15:48:53+00:00","breadcrumb":{"@id":"https:\/\/dediseedbox.com\/wiki\/knowledgebase\/ssh-key-guide\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/dediseedbox.com\/wiki\/knowledgebase\/ssh-key-guide\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/dediseedbox.com\/wiki\/knowledgebase\/ssh-key-guide\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/dediseedbox.com\/wiki\/"},{"@type":"ListItem","position":2,"name":"Knowledgebase","item":"https:\/\/dediseedbox.com\/wiki\/knowledgebase\/"},{"@type":"ListItem","position":3,"name":"SSH Key Guide"}]},{"@type":"WebSite","@id":"https:\/\/dediseedbox.com\/wiki\/#website","url":"https:\/\/dediseedbox.com\/wiki\/","name":"Dedi Seedbox","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/dediseedbox.com\/wiki\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"}]}},"_links":{"self":[{"href":"https:\/\/dediseedbox.com\/wiki\/wp-json\/wp\/v2\/kbe_knowledgebase\/1414","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dediseedbox.com\/wiki\/wp-json\/wp\/v2\/kbe_knowledgebase"}],"about":[{"href":"https:\/\/dediseedbox.com\/wiki\/wp-json\/wp\/v2\/types\/kbe_knowledgebase"}],"author":[{"embeddable":true,"href":"https:\/\/dediseedbox.com\/wiki\/wp-json\/wp\/v2\/users\/2"}],"version-history":[{"count":3,"href":"https:\/\/dediseedbox.com\/wiki\/wp-json\/wp\/v2\/kbe_knowledgebase\/1414\/revisions"}],"predecessor-version":[{"id":1417,"href":"https:\/\/dediseedbox.com\/wiki\/wp-json\/wp\/v2\/kbe_knowledgebase\/1414\/revisions\/1417"}],"wp:attachment":[{"href":"https:\/\/dediseedbox.com\/wiki\/wp-json\/wp\/v2\/media?parent=1414"}],"wp:term":[{"taxonomy":"kbe_taxonomy","embeddable":true,"href":"https:\/\/dediseedbox.com\/wiki\/wp-json\/wp\/v2\/kbe_taxonomy?post=1414"},{"taxonomy":"kbe_tags","embeddable":true,"href":"https:\/\/dediseedbox.com\/wiki\/wp-json\/wp\/v2\/kbe_tags?post=1414"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}