GNU/Linux >> Linux の 問題 >  >> Linux

sshfs を使用したコマンドラインでのユーザー名とパスワード

'sshfs password' の配管 <<<-o password_stdin まで bash で動作:

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

マニュアルによると、オプション -o password_stdin があります これにより、標準入力からパスワードを読み取ることができる可能性があります。これはおそらくリダイレ​​クトである可能性があります。使ったことがないので推測です。

とはいえ、本質的に安全ではないこのようなソリューションは使用しないことを強くお勧めします。

ssh 秘密鍵/公開鍵のシステムで非常にうまく機能します。シンプルで安全です。パスワードを入力したり、シェルスクリプトに平文で書いたりする必要はありません。公開鍵をサーバーにプッシュするだけで、すぐに接続できます。


-o password_stdin freeBSD など、すべてのシステムで動作しているようには見えません。等

expect も使用できます インタプリタ、それは sshfs で動作し、そのトリックを行う必要があります。

別の解決策は sshpass です たとえば、ディレクトリ /var/www をバックアップしているとします

バックアップ中:

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

バックアップ ファイルをバックアップ サーバーにアップロードしています

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

したがって、今日のバックアップでディレクトリをアップロードします

でも それでも、より高く言われたように、最良の(安全でシンプルな)方法は、sshキーペアを使用することです
唯一の不便は、ペアリングする必要があるすべてのサーバーでキー生成プロセスを 1 回実行する必要があることですが、バックアップするすべてのサーバーでパスワードをプレーンテキスト形式で保持するよりはましです :),

適切な方法で鍵ペアを生成する

  • ローカル サーバー上

    ssh-keygen -t rsa
    
  • リモートサーバー上

    ssh [email protected]_servers_ip "mkdir -p .ssh"
    
  • 生成された公開鍵をリモート サーバーにアップロードする

    cat ~/.ssh/id_rsa.pub | ssh [email protected]_servers_ip "cat >> ~/.ssh/authorized_keys"
    
  • リモート サーバーに権限を設定する

    ssh [email protected]_servers_ip "chmod 700 ~/.ssh; chmod 640 ~/.ssh/authorized_keys"
    
  • ログイン

    ssh [email protected]_servers_ip
    
  • SSH プロトコル v2 を有効にする

    <ブロック引用>

    /etc/ssh/sshd_config の「Protocol 2」のコメントを外します

  • sshd で公開鍵認証を有効にする

    <ブロック引用>

    /etc/ssh/sshd_config の「PubkeyAuthentication yes」のコメントを外します

  • /etc/ssh/sshd_config で StrictModes が yes に設定されている場合、

    restorecon -Rv ~/.ssh
    

Linux
  1. plinkとcmdと公開鍵を使用してsshサーバーに接続する方法

  2. Sshを介したコマンドでTrueを使用しますか?

  3. MoshコマンドラインツールLinuxをインストールして使用する方法

  1. xclipを使用してLinuxコマンドラインでコピーして貼り付けます

  2. SSHPass:パスワードなしで(非対話的に)スクリプトを使用してサーバーにSSHで接続する方法

  3. コマンドラインでSVNにSSHパスワードを提供するにはどうすればよいですか?

  1. パスワードでSSHログインを無効にする方法

  2. Linux上の外部SMTPサーバーを使用してコマンドラインからメールを送信する

  3. sshpass コマンド:SSH による非対話型パスワード認証