「Qtの基礎 - SSH」の版間の差分
提供: MochiuWiki : SUSE, EC, PCB
📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
ページの作成:「== 概要 == Qtにおいて、簡潔にSSH接続を確立する手順を記載する。<br> <br> * libsshまたはlibssh2を使用する。 * QProcessクラスを使用…」 |
|||
| 38行目: | 38行目: | ||
これにより、QtがWindowsソケットをインクルードする前にWindows.hファイルをインクルードさせないようにする。<br> | これにより、QtがWindowsソケットをインクルードする前にWindows.hファイルをインクルードさせないようにする。<br> | ||
<br> | <br> | ||
[[ファイル:CSSH.zip|フレームなし|中央]] | |||
<br><br> | <br><br> | ||
__FORCETOC__ | __FORCETOC__ | ||
[[カテゴリ:Qt]] | [[カテゴリ:Qt]] | ||
2021年5月12日 (水) 02:49時点における版
概要
Qtにおいて、簡潔にSSH接続を確立する手順を記載する。
- libsshまたはlibssh2を使用する。
- QProcessクラスを使用して、外部のSSHプロセスを呼び出して接続を確立する。
- 他のSSHライブラリを購入する。
http://netsieben.com/products/ssh
libssh2ライブラリの使用
以下のURLにアクセスして、libssh2をダウンロードする。
https://www.libssh2.org
ダウンロードしたlibssh2を解凍して、ビルドディレクトリを作成する。
tar xf libssh2.tar.xz cd libssh2 && mkdir build && cd build
libssh2をビルドおよびインストールする。
cmake .. \ -DCMAKE_INSTALL_PREFIX=/<libssh2のインストールディレクトリ> \ -DLINT=ON -DBUILD_SHARED_LIBS=ON -DCLEAR_MEMORY=ON -DCMAKE_BUILD_TYPE=Release -DENABLE_DEBUG_LOGGING=OFF \ -DCMAKE_C_COMPILER=/<GCCのインストールディレクトリ>/bin/gcc \ # オプション -DCMAKE_CXX_COMPILER=/<GCCのインストールディレクトリ>/bin/g++ # オプション make -j $(nproc) make install
libssh2の使用例は、以下に示すURLを参考にすること。
http://www.chaosstuff.com/2013/09/gnome-mplayer-remote-with-qt-and-libssh2.html
https://bitbucket.org/nchokoev/qtsshremote
独自クラスの使用
以下に示すクラスは、クロスプラットフォームの非同期SSHおよびSCPソケットである。
このクラスは、libsshまたはlibssh2を必要とする。(RSA鍵の受け渡しを隠したり、コマンドの応答をreadyReadシグナル経由ではなく、シングルショットで送信している)
Windowsで動作させるには、このクラスを使用するファイルの最上部にインクルードする必要がある。
これにより、QtがWindowsソケットをインクルードする前にWindows.hファイルをインクルードさせないようにする。
ファイル:CSSH.zip