Python
SSH
proxy
stub

ローカルコマンドのように動作するリモートコマンド

More than 3 years have passed since last update.


はじめに

スタブ作成のために必要だったので、ローカルコマンドのように動作する、しかし、実際にはリモートでのコマンド結果を出力するコマンドが欲しくて作成しました。


環境

OSX El Capitan


使い方

ソースをlsをいうファイル名で保存。

chmod +x lsで実行権限を付与。

あとはlsするだけ。


実装

#!/usr/bin/env python2.7

# -*- coding: utf-8 -*-

import sys
import os
from subprocess import call

argvs = sys.argv

param_hostname = '1.2.3.4'
param_username = 'docker'
param_port = '60000'
param_command = os.path.basename(argvs[0])
param_command_param = ' '.join(argvs[1:])

cmd = '/usr/bin/ssh -l %s -p %s %s %s %s' % (
param_username, str(param_port), param_hostname, param_command, param_command_param)

call( cmd.strip().split(' ') )


結果

butada-mac:remote_exec_like_a_local butada$ ./ls -l


参考

特になし