2つのリモートLinuxシステム間の接続

2つのリモートLinuxシステム間の接続

2台のリモートコンピュータがあり、そのうちの1つでスクリプトを実行しています。
スクリプトの一部は別の部分で実行する必要があり、その後スクリプトは追加のタスク/コマンドを実行し続けます。
何らかの理由でssh-without-password接続できず、パスワードプロンプトが表示されることも望ましくありません。

注:私はそれらの間でマウントを共有しました。

答え1

SSHパスワードプロンプトを避けてください。

sudo apt-get install sshpass

パッケージをインストールするための代替ツールは次のとおりです。dpkg

sshpassdebパッケージのダウンロード

そしてインストールしてください:

sudo dpkg -i sshpass_1.04-1_amd64.deb

使用パターンは次のとおりです。

sshpass -p mypassword ssh user@server

sudoパスワードプロンプトを避ける必要がある場合:

ssh [email protected] "echo sudo_password | sudo -S ./script.sh"

最後の説明は次のとおりです。 sshの後に実行すると、リモートサーバーにパスワードを入力しないため、sudo解決策は-Sを使用して上記のようにパスワードをsudoにパイプすることです。sudo

答え2

パスワードなしでログインするには、パスワードを作成する必要がありますSSH Keygen

このトピックとその実行方法の詳細については、次を参照してください。

https://help.github.com/articles/generate-ssh-keys.

答え3

a.まず、ユーザaとしてAにログインし、認証鍵ペアを生成します。

b。ここで、sshを使用してBにユーザーbとして〜/ .sshディレクトリを作成します。 (ディレクトリはすでに存在する可能性がありますが、大丈夫です。)

ssh b@B mkdir -p .ssh

b@Bのパスワード

氏。最後に、aの新しい公開鍵をb@B:.ssh/authorized_keysに追加し、最後にbのパスワードを入力します。

cat .ssh/id_rsa.pub | ssh b@B 'cat >> .ssh/authorized_keys'

b @ Bのパスワード:d。 ssh b @ B Bサーバーのパスワードを入力する必要はありません。

関連情報