.
.
.
.
.
.
.
paramikoをつかいpython3でSSHリモートコマンドをやる その1:とりあえず使う
shuzo-kino.hateblo.jp
などでやったリモートコマンドですが……これをsubprocessなりで立ち上げると、毎回毎回立ち上げる羽目になり効率が宜しくありません。
実際のところ
導入
$ pip install paramiko
スクリプト
import paramiko # SSHクライアントのインスタンスを作成 client = paramiko.SSHClient() # 初めてのSSH接続時にサーバーの公開鍵を自動的に受け入れるように設定 client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # SSHサーバーに接続 remote = '192.168.1.X' username = 'foo' password = 'bar' client.connect(remote, username=username, password=password) # リモートでコマンドを実行 stdin, stdout, stderr = client.exec_command('ls -l') # コマンドの実行結果を出力 print(stdout.read().decode()) # SSH接続をクローズ client.close() # 標準入力をクローズ。これをしないとタイムアウトエラー stdin.close()
AttributeError: 'NoneType' object has no attribute 'time'とか怒られるが?
stdinを閉じないと、タイムアウトエラーとして異常終了します
"c.NotebookApp.ip = '*' "を設定したのにJupyter NotebookがmDNS経由で実行できないとき、起動時に"ip"オプションをつけると何とかなるかもしれない
"c.NotebookApp.ip = '*' "を設定したのにJupyter NotebookがmDNS経由で実行できないとき、
起動時に"ip"オプションをつけると何とかなるかもしれません
実際のところ
ついでに、バックグラウンド処理をするようにします
初回はnohup.outからトークンを回収する必要はありますが
$ nohup jupyter notebook --no-browser --ip 0.0.0.0 --port=8888 &