喫茶XRAYトップページ

[スレッド全体
]

[11855] SSH 公開鍵認証返信 削除
2018/5/22 (火) 14:31:29 SO
こんにちは。

早速ですが、さくらインターネット< https://www.sakura.ad.jp/ >のsshサーバーに、
Tera Termで公開鍵認証を行っています。

Tera Termの手動による操作及び、手動によるTera Termマクロの認証は動作しているのですが、
タスクスケジューラ(ログインしているかどうかにかかわらす実行する)にて動作しません。

ぐぐって調べると、
http://www.illinternet.com/2017/11/05/teraterm%E3%83%9E%E3%82%AF%E3%83%AD%E3%82%92%E3%82%BF%E3%82%B9%E3%82%AF%E3%82%B9%E3%82%B1%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%A9%E3%81%A7%E8%87%AA%E5%8B%95%E8%B5%B7%E5%8B%95%E3%81%99%E3%82%8B%E3%80%82/
等にて、ユーザーがログオンしているかどうかにかかわらず実行する」を選択すると、バッチが動作しないと書かれています。

別の方法でも構いませんので、なにかご存知の方おられましたら、
教えてください。

# やりたいことは、ssh転送(ポートフォワーディング)を用いた、Mysqlのデータ同期です。

[11915] Re:SSH 公開鍵認証返信 削除
2018/6/6 (水) 22:12:37 taka
▼ SOさん
> こんにちは。
>
> 早速ですが、さくらインターネット< https://www.sakura.ad.jp/ >のsshサーバーに、
> Tera Termで公開鍵認証を行っています。
>
> Tera Termの手動による操作及び、手動によるTera Termマクロの認証は動作しているのですが、
> タスクスケジューラ(ログインしているかどうかにかかわらす実行する)にて動作しません。
>
> ぐぐって調べると、
> http://www.illinternet.com/2017/11/05/teraterm%E3%83%9E%E3%82%AF%E3%83%AD%E3%82%92%E3%82%BF%E3%82%B9%E3%82%AF%E3%82%B9%E3%82%B1%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%A9%E3%81%A7%E8%87%AA%E5%8B%95%E8%B5%B7%E5%8B%95%E3%81%99%E3%82%8B%E3%80%82/
> 等にて、ユーザーがログオンしているかどうかにかかわらず実行する」を選択すると、バッチが動作しないと書かれています。
>
> 別の方法でも構いませんので、なにかご存知の方おられましたら、
> 教えてください。


Tera Termの問題でしたら
ターミナルをPuttyに変更して試してみてはどうですか?

Tera Termより
Puttyのほうがユーザーが多いので自動化とかたくさんヒットしますよ。
 Putty 公開鍵認証 自動化
 Putty ポートフォワーディング


[11917] Re2:SSH 公開鍵認証返信 削除
2018/6/7 (木) 09:49:54 SO
▼ takaさん

情報、ありがとうおございます(^^

今は、Tera Termにてログインしっぱなしで、
データ同期のみバッチファイルにて動かしている状況です。

。。。Tera Termにてログインしっぱなしが気持ち悪いので、
Puttyを調べてみたいと思います。

[11919] Re3:SSH 公開鍵認証返信 削除
2018/6/7 (木) 22:34:56 taka
▼ SOさん
> ▼ takaさん
>
> 情報、ありがとうおございます(^^
>
> 今は、Tera Termにてログインしっぱなしで、
> データ同期のみバッチファイルにて動かしている状況です。
>
> 。。。Tera Termにてログインしっぱなしが気持ち悪いので、
> Puttyを調べてみたいと思います。

PuTTYでテストしてみました。
結果として、Tera Termと同じ現象です。

ログインしていないとトンネリングできないみたいです。

試しにトンネリングだけタスクスケジュールにいれて実行すると
タスクの一覧にきちんとプログラムが表示されていますが

mysqladmin ping -h localhost -P 3307 -u test
と打つとエラーが返ってきます

ログイン中でないと新しいポートの割り当てができない仕様なのかもしれないです。
トンネル接続が特殊なのかもしれないので、ポート開けるだけのプログラムで実験してみないとわかりません。

powershellを使えば
 Start-Process
 timeout
 Start-Process -Wait
 Stop-Process
を組み合わせると閉じるところまで自動化できます

# タスクの設定: プログラム/スクリプト
#   %SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe
# 引数の追加(オプション)
#   -ExecutionPolicy RemoteSigned -File c:\tmp\test_task.ps1

putty="C:\pathto\PuTTYPortable\App\putty\putty.exe"
$remote_user="user"
$remote_pass="pass"
$remote_host="hostname"

try{
  # プロセスを実行+未待機
  $process = Start-Process "$putty" -ArgumentList "-ssh -L 3307:127.0.0.1:3306 $remote_user@$remote_host -pw $remote_pass -N" -PassThru

  # 指定秒数待機する(接続したであろう時間適当に待つ)
  timeout 10

  # 何か実行する
  # Start-Process  ... -Wait
} finally {
  # 起動したPUTTYを強制的にシャットダウン
  Stop-Process -InputObject $process
}


[11921] Re4:SSH 公開鍵認証返信 削除
2018/6/8 (金) 14:20:54 taka
Win32-OpenSSH
でもタスク未ログインで接続できるようです
ただし、動作が遅いようで接続完了するまでに時間がかかるようです。

事前に、一度 スケジュールするユーザーで
ssh.exe ユーザー@ホスト
で認証を完了させておく必要があります。

# タスクの設定: プログラム/スクリプト
#   %SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe
# 引数の追加(オプション)
#   -ExecutionPolicy RemoteSigned -File c:\tmp\test_task_ssh.ps1

$ssh="C:\tmp\OpenSSH-Win32\ssh.exe"
$ssh_args="-L 3307:127.0.0.1:3306 ユーザー@ホスト -N"

# プロセスを実行+未待機
Start-Process "$ssh" -ArgumentList "$ssh_args" -RedirectStandardError "C:\tmp\test_task_ssh.ps1.err.log"


[▼次のスレッド]
INCM/CMT
Cyclamen v3.82