GNU/Linux >> Znalost Linux >  >> Linux

Uživatelské jméno a heslo v příkazovém řádku s sshfs

Propojení 'sshfs password' s <<< do -o password_stdin funguje na bash:

sshfs -o password_stdin [email protected]_ip:/home /mnt/backup <<< 'sshfs password'

Podle manuálu je zde možnost -o password_stdin což by mohlo umožnit číst heslo ze standardního vstupu, což může být pravděpodobně přesměrování. Nikdy jsem to nepoužil, takže spekuluji.

To znamená, že důrazně nedoporučuji takové řešení, které je ze své podstaty nejisté.

ssh velmi dobře funguje se systémem soukromých/veřejných klíčů. Je to jednoduché a bezpečné. Není třeba zadávat heslo nebo je psát srozumitelně ve skriptu shellu. Stačí stisknout svůj veřejný klíč na serveru a můžete se okamžitě připojit.


-o password_stdin Zdá se, že nefungují na všech systémech, například freeBSD. atd.

Můžete také použít expect Interprete, mělo by to fungovat se sshfsand by měl stačit.

Dalším řešením by bylo sshpass řekněme například, že zálohujete adresář /var/www

Zálohování:

name=$(date '+%y-%m-%d')
mkdir /backup/$name && tar -czvf /backup/$name/"$name.tar.gz" /var/www

nahrání záložního souboru na záložní server

sshpass -p "your_password" scp -r [email protected]_ip:/home/ /backup/$name

Nahraje tedy adresář s dnešní zálohou

Ale přesto, jak bylo řečeno výše, nejlepším (bezpečným a jednoduchým) způsobem by bylo použít pár klíčů ssh
Jedinou nepříjemností by bylo, že musíte projít procesem generování klíčů jednou na každém serveru, který potřebujete spárovat, ale je to lepší než udržovat heslo ve formátu prostého textu na všech serverech, které chcete zálohovat :),

Vygenerování páru klíčů správným způsobem

  • Na místním serveru

    ssh-keygen -t rsa
    
  • Na vzdáleném serveru

    ssh [email protected]_servers_ip "mkdir -p .ssh"
    
  • Nahrání vygenerovaných veřejných klíčů na vzdálený server

    cat ~/.ssh/id_rsa.pub | ssh [email protected]_servers_ip "cat >> ~/.ssh/authorized_keys"
    
  • Nastavte oprávnění na vzdáleném serveru

    ssh [email protected]_servers_ip "chmod 700 ~/.ssh; chmod 640 ~/.ssh/authorized_keys"
    
  • Přihlášení

    ssh [email protected]_servers_ip
    
  • Povolení protokolu SSH v2

    odkomentujte "Protocol 2" v /etc/ssh/sshd_config

  • povolení autorizace veřejného klíče v sshd

    odkomentujte "PubkeyAuthentication yes" v /etc/ssh/sshd_config

  • Pokud je StrictModes nastaveno na yes v /etc/ssh/sshd_config, pak

    restorecon -Rv ~/.ssh
    

Linux
  1. Zkopírujte a vložte na příkazový řádek Linuxu pomocí xclip

  2. Automatizace hesel SSH v Linuxu pomocí sshpass

  3. SSHPass:Jak SSH na server pomocí skriptu bez hesla (neinteraktivně)

  1. Jak se připojit k ssh serveru pomocí plink a cmd a veřejného klíče

  2. Oring s True In A Command Over Ssh?

  3. Odesílejte poštu z příkazového řádku s externím serverem smtp v systému Linux

  1. Jak nainstalovat a používat nástroj příkazového řádku Mosh Linux

  2. Příkaz sshpass:Neinteraktivní ověřování hesla pomocí SSH

  3. Alternativa k příkazovému řádku SSH z Ubuntu