喫茶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のデータ同期です。

[11857] Re:SSH 公開鍵認証返信 削除
2018/5/22 (火) 16:10:03 Mr.XRAY 〔HomePage
▼ SOさん

残念ながら私には無理なようですが,
Tera Term は結構使われていると思うので,そういう方がここを観ていて,
レスしてくれると嬉しいのですが...


[11859] Re2:SSH 公開鍵認証返信 削除
2018/5/22 (火) 16:31:22 SO
▼ Mr.XRAYさん
> ▼ SOさん
>
> 残念ながら私には無理なようですが,
> Tera Term は結構使われていると思うので,そういう方がここを観ていて,
> レスしてくれると嬉しいのですが...


とりあえず、Tera Termにて接続したままにして、
タスクスケジューラで、同期スクリプトを叩く感じにしてます。
Tera Termの接続が切れないことを明日確認してみます。。。

[11860] Re2:SSH 公開鍵認証返信 削除
2018/5/23 (水) 06:12:35 Mr.XRAY 〔HomePage
> 残念ながら私には無理なようですが,

もし興味があれば
https://www.google.com/search?num=50&q=delphi+tera+term+ssh
https://www.google.com/search?num=50&q=delphi+teraterm+ssh

# tera term ではなく空白を除いた teraterm の方が多くヒットします.


[11861] Re3:SSH 公開鍵認証返信 削除
2018/5/23 (水) 09:50:28 SO
▼ Mr.XRAYさん
> > 残念ながら私には無理なようですが,
>
> もし興味があれば
> https://www.google.com/search?num=50&q=delphi+tera+term+ssh
> https://www.google.com/search?num=50&q=delphi+teraterm+ssh
>
> # tera term ではなく空白を除いた teraterm の方が多くヒットします.


ありがとうございます。
引き続き、調べていきます。

# とりあえず、動いていたっぽいので、
# 解決するまで、これでお茶を濁しときます。。。

Win32-OpenSSH < https://github.com/PowerShell/Win32-OpenSSH >
Windows用のOpenSSHらしいのですが、使い方が分からないw

[11866] Re4:SSH 公開鍵認証返信 削除
2018/5/25 (金) 10:31:15 yuki
こんにちは。
いつも参考にさせていただいています。
yukiです。

最近、raspberry pi(ラズパイ)でプロジェクトを作る機会があり、
ssh2での接続をする方法を探した事例があります。。
delphi7用のデモをアップしておきますので、よければ参考にしてください。
delphi XE6でも、ほとんど変えずに利用できます。

https://mega.nz/#!GjgjGaRC!fgQjl2pCorB-FvlG5N3cu4JtOwYNTr7jZN9JwGdOT7g

基本的には Synapse libraries と SSL library (libssh2+libssl) を利用したものです。
referenceはどこだったのか忘れてしまいましたが、ClientSSH2.pasに概要が書かれていますので参照してください。(配布の著作権関連に問題があればお知らせください。削除しますので。)

ただファイルの転送に関しては、winscpをコマンドライン経由で、delphiから操作しています。
winscpは安定性はよいのですが、毎回接続するのでリアルタイムにかける印象で、
処理の内容に応じて、使い分けるのがよさそうです。

話は少し変わりますが、Windows10が直接linuxをcareする目的からか、Microsoft謹製の
OpenSSHが利用可能になっています。
https://news.mynavi.jp/article/20171218-win10_openssh
これを使うのがwindowsではよさそうに思えるのですが、
delphiからssh.exe、sftp.exeを直接コマンドラインから利用するのは、
terminalのような機能を用意する必要がありそうで、
いまのところ、cmd.exeやPowerShellに、キーダウンイベントやコピーメッセージを送って、
cmd.exeの窓に表示された文字を拾ってくるような方法で利用できそうです。
残念ながら、パイプを使用したコマンドラインのリダイレクトではうまくいきませんでした。

teratermのようなterminal機能は、delphiではどのように実現したらいいのかなあと思っています。
DevArt_SecureBridgeなんかを使うと似たようなことができそうですが、
結構お金がかかってしまい、趣味でやっている身では・・・です。

ではでは

[11868] Re5:SSH 公開鍵認証返信 削除
2018/5/25 (金) 11:10:07 Mr.XRAY 〔HomePage
▼ yukiさん,こんにちは.

どうもありがとうございます.
思わず私もダウンロードしてしまいました.多分使わないのに (笑)


[11873] Re6:SSH 公開鍵認証返信 削除
2018/5/25 (金) 14:30:02 taki
▼ Mr.XRAYさん
> ▼ yukiさん,こんにちは.
>
> どうもありがとうございます.
> 思わず私もダウンロードしてしまいました.多分使わないのに (笑)


ダウンロードフォルダにssh2_demo.rarをダウンロードした後、
Lhaplus for Windows Version 1.74(最新版)で解凍するとエラーが発生します。
2回ダウンロードやり直して解凍しても同じ状況です。

私だけ?


[11874] Re7:SSH 公開鍵認証返信 削除
2018/5/25 (金) 15:36:02 Mr.XRAY 〔HomePage
> 私だけ?

あれ ?
ダウンロードしたままでしたので,解凍しようとしたら.ハハハッ.
UNRAR32.DLL ならあるんだけど.


[11875] Re8:SSH 公開鍵認証返信 削除
2018/5/25 (金) 16:13:44 Mr.XRAY 〔HomePage
> UNRAR32.DLL ならあるんだけど.

てなわけで UNRAR.DLL を入手して SysWow64 にコピーして解凍しました.
以下の記事の RARLAB から 上から 3 番目の UnRAR.dll をダウンロードしました.
ダウンロードすると UnRARdll.exe になっていたので,これを解凍して
その中の UnRAR.dll を使いました.

https://www.ponsoftware.com/archiver/help/UNRAR.htm

失礼.私の使用している圧縮解凍ツールは前の図の Caption にある Explzh
というやつです.
前の図の [ダウンロード] をクリックしてもダウンロードできませんでした.
なので別途ダウンロードしてみました.


[11876] Re9:SSH 公開鍵認証返信 削除
2018/5/25 (金) 16:38:04 yuki
Mr.XRAYさん

失礼しました。
zipで圧縮すべきでした。

私はWinRARをつかっているのですが。
40日間の体験版があるようです。
http://www.winrarjapan.com/download
買うと3000円くらいするんですね。
高い。。知らなかった。。

統合アーカイバで自分で作るのもあるけど、
やっぱり他人様が作ったもののほうが、早くて便利ですから。。


[11877] Re10:SSH 公開鍵認証返信 削除
2018/5/25 (金) 16:59:54 Mr.XRAY 〔HomePage
▼ yukiさん

> 失礼しました。
> zipで圧縮すべきでした。


いや,そんなことはないと思います.
これで 1 つ勉強になりましたから.
私も taki さんの書き込みがなければ自分で勝手に unrar.dll を入手して
解凍していたと思います.ここには書かなかったでしょう.
その意味では taki さんの書き込みも意味があると思うのですが.

> 統合アーカイバで自分で作るのもあるけど、
> やっぱり他人様が作ったもののほうが、早くて便利ですから。。


御意 (^^;


[11878] Re10:SSH 公開鍵認証返信 削除
2018/5/25 (金) 17:05:57 Mr.XRAY 〔HomePage
> 私はWinRARをつかっているのですが。

ちなみに私の使っている Explzh は今回 UnRAR.dll をシステムフォルダに
コピーしたので rar は解凍できるようになりました.
しかし,rar の作成には WinRAR が必要です.


[11879] Re10:SSH 公開鍵認証返信 削除
2018/5/25 (金) 18:54:16 taki
▼ yukiさん
> Mr.XRAYさん
>
> 失礼しました。
> zipで圧縮すべきでした。
>
> 私はWinRARをつかっているのですが。
> 40日間の体験版があるようです。
> http://www.winrarjapan.com/download
> 買うと3000円くらいするんですね。
> 高い。。知らなかった。。
>
> 統合アーカイバで自分で作るのもあるけど、
> やっぱり他人様が作ったもののほうが、早くて便利ですから。。


WinRARの体験版をインストールして解凍すると
正常に解凍できました。
ありがとうございます。(^_^)


[11922] Re4:SSH 公開鍵認証返信 削除
2018/6/8 (金) 14:41:31 taka
▼ SOさん
>
> Win32-OpenSSH < https://github.com/PowerShell/Win32-OpenSSH >
> Windows用のOpenSSHらしいのですが、使い方が分からないw


sshの準備 (OpenSSH-Win32)

(1) c:\users\ユーザー\.ssh
.ssh フォルダがなければ作る

(2) c:\users\ユーザー\.ssh\config に追加する

Host ホスト名
    IdentityFile ~\.ssh\ホスト名\id_rsa

(3) c:\users\ユーザー\.ssh\config\ホスト名
に認証キーを保存する(フォルダ名は好きな名前でいい)
ない場合は
 ssh-keygen -t rsa コマンドなどで適当に作る
 id_rsa と id_rsa.pubができるはず。

(4) 以下の3つがあることを確認する
 c:\users\ユーザー\.ssh\config
 c:\users\ユーザー\.ssh\config\ホスト名\id_rsa
 c:\users\ユーザー\.ssh\config\ホスト名\id_rsa.pub

(5) サーバー
.ssh/authorized_keys
にid_rsa.pubを追加しておく
cat id_rsa.pub >> ~/.ssh/authorized_keys

(6) テスト接続してみる
 powershellプロンプトを開く
 ssh ユーザー@ホスト



[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
}


[11920] Re4:SSH 公開鍵認証返信 削除
2018/6/8 (金) 13:39:37 taka
以下のコードをコンパイル登録して

rocedure TForm1.FormCreate(Sender: TObject);
begin
  IdHTTPServer1.Active := True;
end;

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  IdHTTPServer1.Active := False;
end;

procedure TForm1.IdHTTPServer1CommandGet(AContext: TIdContext;
  ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
begin
  AResponseInfo.ContentText := 'Hello';
end;

タスクスケジュールの未ログインに
Indyでポート80を開けて
別のユーザーでhttp://localhost/が閲覧できるのでポートの割り当てができないというわけではないようです。

そこで cygwinをインストールしてあるのを思い出したので
cygwinのsshで keyを設定して
タスクに登録して ポートフォワーディングをすると 未ログイン状態でつながりました。
 ※ runas /profile /user:ユーザー名 "C:\cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico -"
 で ログインしてcygwin用のプロファイルを作成し、sshの設定を事前にしておく

C:\cygwin\bin\ssh.exe -L 3307:127.0.0.1:3306 ユーザー@ホスト -N


Tera TermやPuTTYはなんか触っちゃいけないとこにアクセスしているようです。


cygwinをインストーしていない場合はとてつもないファイルのごみが増えて
セキュリティソフトの検索やデフラグなどに時間がかかるようになったりする弊害があるので
そのままインストールせずに
ディスク管理を開いて
ディスクのパーティションを1個を c:\cygwinに割り当てるなどしたほうがいいです。
 http://www.atmarkit.co.jp/ait/articles/0002/05/news001.html
うちは5GBほど割り当ててます。
・ドライブ文字は割り当てない
・c:\cygwinに割り当て


Win32-OpenSSHはunixのパクリらしいので
powershellのsshでも動くかもしれません。



[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"


[11923] Re2:SSH 公開鍵認証返信 削除
2018/6/8 (金) 20:48:11 taka
# 自動化サンプル2 : powershell + ssh

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

# コマンドパスに空白がある場合は先頭に & をつける &"パ ス"

## 設定 ssh
$remote_user="ユーザー名"
$remote_host="ホスト名"

## mysql
$mysql_user="DBユーザー名"
$mysql_pass="DBパスワード"
$mysql_server_hostname="127.0.0.1" # 同一サーバーなら通常 127.0.0.1、違う場合はDBのホスト名
$mysql_server_port="3306"  # 通常 3306
$mysql_local_port="3307"   # ローカル 任意のポート番号

$mysql_exe="C:\Program Files\MySQL\MySQL Server 5.5\bin\mysql.exe"
$mysqladmin_exe="C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqladmin.exe"

# コマンド引数へ渡すとき 1次元変数は 1個で処理されてしまうので配列にいれる
$mysql_common_args_array=@("-P","$mysql_local_port")
if ($mysql_user -ne "") { $mysql_common_args_array += @("-u", "$mysql_user") }
if ($mysql_pass -ne "") { $mysql_common_args_array += @("-p", "$mysql_pass") }

## my_cmd
$mysql_test_sql="`"INSERT INTO table_date VALUES(CURRENT_TIMESTAMP);`""
$my_cmd="$mysql_exe"
$my_cmd_args="-s $mysql_common_args_array -D test -e $mysql_test_sql"
# [String]::Join(" ",$mysql_common_args_array) をしなくても勝手に連結されるみたい

$ssh="ssh"
$ssh_args="-L ${mysql_local_port}:${mysql_server_hostname}:${mysql_server_port} ${remote_user}@${remote_host} -N"


try {
  # プロセスを実行+未待機
  $process = Start-Process "$ssh" -ArgumentList "$ssh_args" -PassThru
#  [Console]::WriteLine("{0}", "$ssh $ssh_args")

  # powershellのsshは遅い
  # 指定秒数待機する
  timeout 8

  $connected=$FALSE
  # 接続できているか確認する(2秒x10回試行する)
  for ($i=0; $i -lt 10; $i++) {
    &"$mysqladmin_exe"  ping $mysql_common_args_array
    if ($?) {
      $connected=$TRUE
      break
    }
    timeout 2
  }

  # 接続できていればコマンドを実行する
  if ($connected) {
    # プロセスを実行+待機
    ## ここで何かする
    Start-Process "$my_cmd" -ArgumentList "$my_cmd_args" -Wait
  }

} finally {
  # 起動したSSHを強制的にシャットダウン
  if ($process.SI -ne $NULL -Or $process.ProcessName -ne $NULL) {
    [Console]::WriteLine("Stop {0}", $process.ProcessName)
    Stop-Process -InputObject $process
  }

  # 保護しているが万が一残ってしまって
  # 生き残りをすべて抹消するには手動で以下のコマンド
  # Stop-Process -name SSH

}

##
# テスト用のテーブルを作成
# CREATE TABLE table_date (`create_at` datetime NOT NULL);
##
# テスト用のテーブルを表示
# SELECT * FROM table_date;
##
# テスト用のテーブルをクリア
# DELETE FROM table_date;
##


[11962] Re:SSH 公開鍵認証返信 削除
2018/6/20 (水) 14:42:21 まちだ
▼ SOさん
> ぐぐって調べると、
> 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/
> 等にて、ユーザーがログオンしているかどうかにかかわらず実行する」を選択すると、バッチが動作しないと書かれています。
>
> 別の方法でも構いませんので、なにかご存知の方おられましたら、
> 教えてください。



はずしていたらごめんなさいです。
Teratermマクロのマニュアルに、以下の記載があります。

========== ここから転記

注: ウインドウを表示しないで実行する

ウインドウを表示しないで実行するには、TTERMPRO.EXE および
TTPMACRO.EXE ともに "/V" コマンドラインオプションを指定して起動します。
マクロの connect コマンドを用いて TTERMPRO.EXE が起動される場合は、
connect コマンドの引数に "/V" を追加する必要があります。
タスクなどを用い、ログインしていない状態で実行するには
このオプションが必要です。

========== ここまで転記

マクロ実行法
https://ttssh2.osdn.jp/manual/ja/macro/howtorun.html
より抜粋。(改行部分は適宜変更しています。)

/V を追加するだけで動作したり…したらいいなぁ。
そんなうまい話はないか。(笑)

[11964] Re2:SSH 公開鍵認証返信 削除
2018/6/20 (水) 17:01:16 Mr.XRAY
▼ まちださん

スレッドの話題と全く関係ありませんが,
懐かしいような名前を見たので,記念のレスです (笑)


[11965] Re3:SSH 公開鍵認証返信 削除
2018/6/21 (木) 08:59:14 まちだ
▼ Mr.XRAYさん
> ▼ まちださん
> 懐かしいような名前を見たので,記念のレスです (笑)


マスターお久しぶりです。
以前ちょこっと書き込んだだけですので、
覚えていただいているとは光栄です。

…といっても、こちらは勝手に来店して、楽しんで帰っているので、
個人的には、久しぶりな気はしていません。(笑)

また、参加できそうな話題があったら書き込みますね。
Delphiの話題には、自身の知識が古すぎてついていけないので。


[11969] Re2:SSH 公開鍵認証返信 削除
2018/6/25 (月) 14:37:08 SO
▼ まちださん

> /V を追加するだけで動作したり…したらいいなぁ。
> そんなうまい話はないか。(笑)


遅くなりました。
こんにちは。

そんなうまい話はありませんでした(^^;A

takaさんからも色々投稿してもらっていますが、
なかなか、手がつけられていません。。。

opensshのWindows実装である、
Win32-OpenSSHを使用すれば良さげなんですが、
鍵にパスフレーズを指定しているので、
こことか、https://qiita.com/Yuta_Fujiwara/items/827ea0a9b37d20941c51
ココとか、https://qiita.com/onokatio/items/397a5899a0ec16c7e60a

を見ながらコマンド叩いているんですが、
エラーになっちゃいます。

パスフレーズ無しで、鍵を作ればいけるかもしれません。

[11973] Re3:SSH 公開鍵認証返信 削除
2018/6/29 (金) 08:52:10 まちだ
▼ SOさん
> そんなうまい話はありませんでした(^^;A
>
> takaさんからも色々投稿してもらっていますが、
> なかなか、手がつけられていません。。。

 

わざわざ返信ありがとうございます。

そうですよね。
私が投稿した時点で、明らかにTeraTermの話ではなく
SSHの動作の話になってましたもんねぇ。

ログイン後手動で接続しておけば、タスクで動作するようですから、
この接続の部分が解消して、
未ログイン状態で、タスクからTeraTermマクロを動作する
ときには「/V」が役に立つ…のかもしれません。

また、何か気が付いたら投稿します。
…今回のようにトンチンカンな回答かもしれませんが。(笑)


INCM/CMT
Cyclamen v3.82