GNU/Linux >> Znalost Linux >  >> Linux

Jak určím soubor klíče pro sshfs?

Všimněte si této možnosti:

-o SSHOPT=VAL možnosti ssh (viz man ssh_config)

A když se podíváte na man ssh_config , existuje možnost nastavit cestu k souboru vašeho soukromého klíče s názvem IdentityFile , takže můžete udělat toto:

sshfs -oIdentityFile=/abs/path/to/id_rsa server: path/to/mnt/point

Cesta k souboru identity musí být absolutní cesta.


V principu to funguje takto (jako root nebo použijte sudo ):sshfs -o default_permissions,nonempty,IdentityFile=/home/USER/.ssh/id_rsa [email protected]:PATH /mnt/mountpoint

Nahraďte USER s uživatelem, který je v authorized_keys soubor serveru, SERVER s názvem serveru (nebo IP, např. 192.168.0.11), SRVUSER s uživatelem na serveru (např. root, což se nedoporučuje, ale je to možné a někdy nutné; nastavte si /etc/ssh/sshd_config na serveru správně, tj. direktivy PermitRootLogin a PasswordAuthentication ). Nahraďte také /mnt/mountpoint podle toho.

Možnost -o nonempty umožňuje připojení /mnt/mountpoint, když tento adresář není prázdný. Musím to použít, protože mám soubor .unmounted v tomto adresáři, abyste viděli, zda je připojen nebo ne, takže pokud test -e /mnt/mountpoint/.unmounted vrátí úspěšně (tj. soubor .unmounted existuje v /mnt/mountpoint), není připojen.

Skutečný příklad:

  • název serveru "homeserver"
  • připojit /home adresář na server
  • můj přípojný bod v místním systému je /mnt/homeserver
  • uživatel „steve“ má soukromý klíč

ssh [email protected] jak uživatel Steve pracoval.

sshfs -o default_permissions,nonempty,IdentityFile=/home/steve/.ssh/id_rsa [email protected]:/home /mnt/homeserver (jako root)

Toto nefungovalo , zobrazila se mi chybová zpráva:read: Connection reset by peer

Řešení: Získejte podrobnější výstup přidáním -o debug .

# sshfs -o default_permissions,nonempty,IdentityFile=/home/steve/.ssh/id_rsa,debug 
[email protected]:/home /mnt/homeserver
FUSE library version: 2.9.8
nullpath_ok: 0
nopath: 0
utime_omit_ok: 0
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStT0123
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /root/.ssh/known_hosts:2
ECDSA host key for homeserver has changed and you have requested strict checking.
Host key verification failed.
read: Connection reset by peer

A najednou je to mnohem jednodušší opravit. Protože klíče sshd byly znovu vytvořeny od poslední relace, ale /root/.ssh/known_hosts na místním systému má stále staré klíče – nefunguje. Řešením v mém případě bylo jednoduše odstranit řádek začínající homeserver z /root/.ssh/known_hosts pomocí editoru (například nano ). Nyní funguje montáž pomocí sshfs. Při prvním připojení musí být nový klíč potvrzen:

# mount /mnt/homeserver
The authenticity of host 'homeserver (192.168.0.11)' can't be established.
ECDSA key fingerprint is SHA256:aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsS/1234.
Are you sure you want to continue connecting (yes/no)? yes

BTW, toto je řádek v /etc/fstab :

[email protected]:/home  /mnt/homeserver  fuse.sshfs noauto,nonempty,default_permissions,IdentityFile=/home/steve/.ssh/id_rsa  0 0

Takže i když je to něco jiného, ​​zkuste -o debug První. Ohromně to pomůže najít chybu.


Linux
  1. Jak zadat více mezer pro oddělovač pomocí řezu?

  2. Jak najít výchozího správce souborů?

  3. Jak určit soukromý klíč při dešifrování souboru pomocí GnuPG?

  1. Jak přidat nový řádek na konec souboru?

  2. Jak změnit kódování, které používá můj SFTP server?

  3. Jak najít soubor .pid pro daný proces

  1. Jak se připojit k SFTP pomocí FileZilla pro bezpečný přenos souborů

  2. Linux – jak přimět Sar, aby se ukazovala za předchozí den?

  3. Jak připojit výstup do souboru?