jak mohu nainstalovat soukromý klíč ssh generovaný programem puttygen?
<p>nastavil jsem svůj linuxový server tak, aby přijímal připojení z domácího počítače přidáním veřejného klíče generovaného puttygenem do <code>authorized\_keys</code> soubor.</p><p>teď se snažím připojit ke stejnému počítači, ale tentokrát z jiného počítače ubuntu. musím použít stejný soukromý klíč (z podivného důvodu, neptej se ..) a nemám dost na to, jak jej nainstalovat na svého klienta ubuntu.</p><p>musím ji převést do jiného formátu?</p>
<p>nejsem si jistý, zda váš soukromý klíč bude fungovat v ubuntu, ale stojí za to. stačí zkopírovat klíče do <code>/home/yourname/.ssh/</code> pojmenujte soukromý klíč jako <code>id\_rsa</code> a veřejný klíč jako <code>id\_rsa.pub</code>.</p><p>pokud to nefunguje, můžete si vytvořit vlastní ssh pár klíčů pomocí <code>ssh-keygen</code> a zkopírujte nový veřejný klíč na server a ssh následovně</p><pre><code>ssh -i ~/.ssh/id\_rsa\_ubuntu.pub &lt;hostname&gt; </code></pre><p>s tím jsem nehrál, ale slyším, že ssh-agent může být také použit ke správě ssh-klíčů.</p>
Ano, budete muset převést klíče. Mac a Linux fungují stejně, ukládání klíče `~/.gnupg`. Nejbezpečnější způsob, jak přenést soubory je použití `scp`(část SSH):



```
scp -rp ~/.gnupg othermachine:

```

Nicméně, budete muset mít `ssh`práci jako první.


Přenos je, řekněme, USB flash disk není tak skvělý nápad, protože váš soukromý klíč bude zanechal na této jednotce i poté, co jste odstranili soubor. I když je chráněna přístupovým heslem, pokud se někdo dostal do rukou kopie souboru klíčů mohli připojit dlouhotrvající útok hrubou silou na něj na svém lesiure.


Nevím o umístění adresáře systému Windows. Dokumentace gpg řekne, a obsah pak bude téměř jistě být stejné.


Kopírování celé klíčenku je rychlá a snadná, ale někdy chcete být schopen se pohybovat jednotlivé klíče mezi stroji bez přepisování celý klíčenku a ztrátě klíče, které již existují. Kopírování jednotlivých kláves volitelně může být provedeno s `gpg --export-secret-key`a `gpg --import`. Pokud máte SSH přístup k cílovému počítači, můžete to udělat s trubkou a nepotřebují k ukládání průběžném klíč kdekoliv:


Pokud jste na počítači, který již má klíč:



```
gpg --export-secret-key SOMEKEYID | ssh othermachine gpg --import

```

Pokud jste na počítači, který potřebuje klíč:



```
ssh othermachine gpg --export-secret-key SOMEKEYID | gpg --import

```

Pokud `gpg`není v jednom z výchozích míst na vzdáleném počítači (např je v `/opt/local/bin`počítači Mac), budete muset dát svou plnou cestu k ssh, nebo symbolický odkaz do jednoho ze standardních místech, jako jsou `/usr/local/bin`.


Všimněte si, že data, která je přenesena je stále chráněn přístupové heslo a klíč bude mít stejné přístupové heslo do místa určení, jak tomu bylo u zdroje. Chcete-li mít různé hesel v každém místě, budete muset změnit přístupové heslo na místo určení, nebo ji změnit dočasně u zdroje před exportem. Potřeboval jsem sdílet tajný klíč s kolegou, s cílem dát mu možnost aktualizovat si Debian balíček repo oba řídit, ale nechtěl jsem se podělil o své přístupové heslo s ním. Tak jsem změnil přístupové heslo na něco dočasného, ​​poslal mu exportovaný klíč (podle gpg šifrované e-mailu!), Řekl mu dočasné heslo ústně, a požádal ho, aby nastavit nové přístupové heslo ihned po importu klíč. Pak jsem změnil přístupové heslo na mém kopie klíče zpět na to, co to bylo původně. samotné apt-get install ti fungovat nebude, musíš před to dát "sudo"sudo apt-get install ...abys měl root (= admin) práva k instalaci. A toho bota jsi instaloval jak? Ten linux je Debian? <pre><code>sudo apt update sudo apt install ssh sudo ufw allow 22 # if you have ufw running, but it doesn't hurt to run. </code></pre><p>to je velmi minimum. umožňuje neomezený počet neúspěšných pokusů o heslo na známém portu. přímé přihlášení root je zakázáno (po přihlášení se stále můžete <code>su</code> a <code>sudo</code>). pokud je vaše uživatelské jméno a heslo hádatelné a internet vidí server, někdo <em> se nakonec </em> vnikne.</p><p>nemohu to dostatečně zdůraznit: <strong> <em> je třeba zatvrdit výchozí nastavení. </em> </strong> pro pravděpodobnost, že budou napadeni, ale <a href="https://thepcspy.com/read/making-ssh-secure/">prošel jsem několika návrhy na svém blog</a> . alespoň bych navrhl:</p><ul> <li>přihlášení pomocí klíčů. zakázat přihlášení heslem.</li> <li>přesuňte jej z portu 22. použijte něco šíleného v rozsahu 20000-60000.</li> <li>použijte <code>fail2ban</code> zakazovat lidem, kteří to najdou, a pokusit se to přenést.</li> </ul><p>zabere vám to méně než 10 minut a oni vás vezmou z 1/10000 šance, že se dostanou do pravděpodobnosti tak malé, že na světě není dost papíru, aby mohl napsat její zlomek. vše za předpokladu, že jste opatrní s vaším klíčem, má vlastní přístupové fráze a vy nebudete trubat vaše pověření po celé síti.</p><p>pokud jde o přístup k tomuto serveru ssh z internetu, můžete čelit překážkám v místní síti. pokud je počítač za routerem nat (např. většina domácích sítí) bez přímého příchozího přístupu z internetu, možná budete muset podívat na <a href="https://portforward.com/">přesměrování portů</a> . samozřejmě, pokud nepotřebujete přístup mimo síť, přeskočení tohoto kroku zajistí zabezpečení sítě.</p> Našel jsem důvod. GPGee má volbu „--encrypt\_to\_self“ a je ve výchozím nastavení povolena. Takže pokud by někdo chtěl udělat z příkazového řádku by měl napsat něco takového



```
gpg -e user_to_encrypt --encrypt-to your_user filename

``` Zkuste toto místo pro klíče přidání GPG:



```
gpg --keyserver pgp.mit.edu --recv-keys F758CE318D77295D
gpg --export --armor F758CE318D77295D | sudo apt-key add -

``` Častou chybou je klonování pomocí výchozího připojení (HTTPS) namísto SSH. Tuto chybu můžete napravit tak, že přejdete do svého úložiště, kliknete na tlačítko "Klonovat nebo stáhnout", pak kliknete na tlačítko "Použít SSH" nad polem URL a aktualizujete adresu URL svého původního vzdáleného serveru takto:



```
git remote set-url origin [[email protected]](/cdn-cgi/l/email-protection):username/repo.git
```

Tento postup je zdokumentován na GitHubu: [Přepnutí vzdálených adres URL z HTTPS na SSH](https://help.github.com/articles/changing-a-remote-s-url/#switching-remote-urls-from-https-to-ssh). Aby bylo možné vidět všechny klíče (které nejsou skryté), že blok šifrovaným datům zašifrovaná, aby - včetně sami - můžete jednoduše vytvořit svůj tajný-keyring dispozici přes něco takového:



```
gpg --no-default-keyring --secret-keyring /dev/null -a --list-only

```

Který říká gpg nepoužívat žádné výchozí klíčenky (-no-default-přívěšek na klíče), je-li zadán neplatný / chybějící klíčenku, a pak jde o to určit neplatné / chybějící tajné klíčenku (--secret-klíčenka / dev / null ) <p>stačí použít <a href="https://linux.die.net/man/1/chsh"><code>chsh</code></a> :</p><pre><code>chsh -s $(which zsh) </code></pre><p><strong> bez </strong> <code>sudo</code> by mělo fungovat. pokud použijete <code>sudo</code>, nezmění shell nikoliv pro vašeho pracovního uživatele, ale pro <em> root</em></p><p>nakonec <strong> se odhlaste z počítače a přihlaste se zpět </strong>.</p><p>odstraňování problémů:</p><ul> <li>máte nainstalován zsh (ii)? <code>dpkg -l zsh</code></li> <li>je vaše shell nastavena na zsh? poslední pole <a href="https://linux.die.net/man/5/passwd"><code>grep $user /etc/passwd</code></a> </li> <li>je zsh <a href="https://linux.die.net/man/5/shells">platné přihlašovací prostředí</a> ? <code>grep zsh /etc/shells</code></li> </ul> <ol> <li>otevřete terminál (<kbd>ctrl</kbd>+<kbd>alt</kbd>+<kbd>t</kbd>). nyní jste doma.</li> <li><code>sudo chown -r $user:$user pictures</code> a zadejte své běžné uživatelské heslo.</li> </ol> Ve skutečnosti, až do nedávné doby [vše, co jste napsali na klávesnici dostal odráženy do kořenového skořápky](http://blogs.zdnet.com/Burnette/?p=680) . Nasty chyba.


To znamená, že budete chtít [PTerminal](http://androidcommunity.com/forums/f28/how-to-pterminal-6485/) , přímo z Android Marketu.


Co se týče SSH, jo. Můžete [dokonce nainstalovat Debian na telefonu](http://www.saurik.com/id/10) .