「Qtの基礎 - SSH」の版間の差分
提供: MochiuWiki : SUSE, EC, PCB
📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
| 7行目: | 7行目: | ||
<br><br> | <br><br> | ||
== | == libSSH2ライブラリのインストール == | ||
==== libSSH2とは ==== | |||
libSSH2は、3条項BSDライセンスである。(4条項BSDライセンスから、3番目にあった「宣伝条項」を削除したもの) | |||
これにより、GPLと互換性が生まれたため、BSDライセンスのソフトウェアをGPLで配布することができる。(その逆は不可)<br> | |||
<br> | <br> | ||
==== パッケージ管理システムからインストール ==== | |||
sudo zypper install libssh2-devel | |||
<br> | |||
==== ソースコードからインストール ==== | |||
libSSH2のビルドに必要なライブラリをインストールする。<br> | |||
sudo zypper install zlib-devel libopenssl-devel libopenssl-1_1-devel | |||
<br> | |||
[https://www.libssh2.org/ libSSH2の公式Webサイト]または[https://github.com/libssh2/libssh2 Github]にアクセスして、libSSH2のソースコードをダウンロードする。<br> | |||
ダウンロードしたソースコードを解凍する。<br> | |||
tar xf libssh2.tar.xz | tar xf libssh2.tar.xz | ||
cd libssh2 | cd libssh2 | ||
<br> | <br> | ||
libSSH2をビルドおよびインストールする。<br> | |||
mkdir build && cd build | |||
cmake .. \ | cmake .. \ | ||
-DCMAKE_INSTALL_PREFIX=/<libssh2のインストールディレクトリ> \ | -DCMAKE_INSTALL_PREFIX=/<libssh2のインストールディレクトリ> \ | ||
| 23行目: | 34行目: | ||
make -j $(nproc) | make -j $(nproc) | ||
make install | make install | ||
<br> | <br> | ||
libSSH2の使用例は、以下に示すURLを参考にすること。<br> | |||
http://www.chaosstuff.com/2013/09/gnome-mplayer-remote-with-qt-and-libssh2.html<br> | http://www.chaosstuff.com/2013/09/gnome-mplayer-remote-with-qt-and-libssh2.html<br> | ||
https://bitbucket.org/nchokoev/qtsshremote<br> | https://bitbucket.org/nchokoev/qtsshremote<br> | ||
2023年1月6日 (金) 16:34時点における版
概要
Qtにおいて、簡潔にSSH接続を確立する手順を記載する。
- libsshまたはlibssh2を使用する。
- QProcessクラスを使用して、外部のSSHプロセスを呼び出して接続を確立する。
- 他のSSHライブラリを購入する。
http://netsieben.com/products/ssh
libSSH2ライブラリのインストール
libSSH2とは
libSSH2は、3条項BSDライセンスである。(4条項BSDライセンスから、3番目にあった「宣伝条項」を削除したもの)
これにより、GPLと互換性が生まれたため、BSDライセンスのソフトウェアをGPLで配布することができる。(その逆は不可)
パッケージ管理システムからインストール
sudo zypper install libssh2-devel
ソースコードからインストール
libSSH2のビルドに必要なライブラリをインストールする。
sudo zypper install zlib-devel libopenssl-devel libopenssl-1_1-devel
libSSH2の公式WebサイトまたはGithubにアクセスして、libSSH2のソースコードをダウンロードする。
ダウンロードしたソースコードを解凍する。
tar xf libssh2.tar.xz cd libssh2
libSSH2をビルドおよびインストールする。
mkdir build && cd build 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