Linux SysOpsにおいて、リモートスクリプトの実行にSSHを使用する方法
LinuxのSysOpsでリモートスクリプティングするためにSSHを使用するいくつかの方法:
- SSHコマンドライン:sshコマンドラインツールを使用してリモートサーバに接続し、スクリプトを実行する。例を以下に示す。
ssh user@hostname 'bash -s' < script.sh
- SSH対話型セッション: sshコマンドラインツールを使用してリモートサーバーに接続し、対話型セッションモードに入り、セッション内でスクリプトを実行します。例:
ssh user@hostname
./script.sh
- リモートコマンド
~/.ssh/configファイルに次の内容を追加してください:
Host hostname
RemoteCommand ./script.sh
続いて、以下のコマンドでリモートサーバーに接続します。
ssh user@hostname
- SSHライブラリを利用する: Pythonなどのプログラミング言語から、paramiko等のSSHライブラリを利用してリモートスクリプトを実行する方法です。より複雑な操作や処理をスクリプト内で実現できます。例: paramikoライブラリを使用したリモートスクリプト実行
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('hostname', username='user', password='password')
stdin, stdout, stderr = ssh.exec_command('bash -s' < script.sh)
print(stdout.read().decode())
ssh.close()
利用した方法に関わらず、リモートスクリプトを実行する場合は、ユーザー名、ホスト名、パスワードを正確に指定し、リモートサーバが SSH アクセスを正しく設定していることを確認してください。