「Qtの基礎 - SSH」の版間の差分

提供:MochiuWiki - SUSE, Electronic Circuit, PCB
ナビゲーションに移動 検索に移動
38行目: 38行目:
これにより、QtがWindowsソケットをインクルードする前にWindows.hファイルをインクルードさせないようにする。<br>
これにより、QtがWindowsソケットをインクルードする前にWindows.hファイルをインクルードさせないようにする。<br>
<br>
<br>
[[ファイル:CSSH.zip|フレームなし|中央]]
<center><code><u>[[ファイル:CSSH.zip|フレームなし|中央]]</u></code></center>
<br><br>
<br><br>


__FORCETOC__
__FORCETOC__
[[カテゴリ:Qt]]
[[カテゴリ:Qt]]

2021年5月12日 (水) 02:54時点における版

概要

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