MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
Qtの基礎 - SSHのソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
Qtの基礎 - SSH
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == Qtにおいて、簡潔にSSH接続を確立する手順を記載する。<br> <br> * libsshまたはlibssh2を使用する。 * QProcessクラスを使用して、外部のSSHプロセスを呼び出して接続を確立する。 * 他のSSHライブラリを購入する。<br>http://netsieben.com/products/ssh <br><br> == libSSH1とlibSSH2の比較 == <center> {| class="wikitable" | style="background-color:#fefefe;" |- ! style="background-color:#66CCFF; width: 60%;" | 項目 ! style="background-color:#66CCFF; width: 20%;" | libSSH2 ! style="background-color:#66CCFF; width: 20%;" | libSSH1 |- | ライブラリ名 || libssh2.so || libssh.so |- | ライセンス || 3条項BSD || LGPL 2.1 |- | サーバサイドのサポート || No || Yes |- | GSSAPI認証 || No || Yes |- | 楕円曲線鍵の交換 || No || Yes |- | 楕円曲線鍵のホスト鍵 || No || Yes |- | ナイトリーテストによるテストケースの自動化 || No || Yes |- | Stable API || Yes || ほとんどの部分 |- | C言語との互換 || C89 || C99 |- | 厳格な名前空間 || Yes || Yes |- | 全ての関数のマニュアル || Yes || No |- | 全ての関数のDoxygenドキュメント || No || Yes |- | Tutorial || Yes || Yes |- | SSHv1のサポート || No || Yes |} </center> <br><br> == libSSH1ライブラリのインストール == ==== libSSH1とは ==== libSSH1は、LGPL 2.1ライセンスである。<br> <br> ==== パッケージ管理システムからインストール ==== sudo zypper install libssh-devel <br> ==== ソースコードからインストール ==== libSSH1のビルドに必要なライブラリをインストールする。<br> sudo zypper install zlib-devel readline-devel libpcap-devel libopenssl-devel libopenssl-1_1-devel libgcrypt-devel p11-kit-devel libsodium-devel doxygen \ # 以下に示すライブラリは不要の可能性あり openpgm-devel ldns-devel zeromq-devel unbound-devel libunwind-devel libcmocka-devel \ libheimdal-devel libgssglue-devel gssntlmssp-devel <br> [https://www.libssh.org/ libSSH1の公式Webサイト]または[https://git.libssh.org/projects/libssh.git libSSH1向けのGit]にアクセスして、libSSH1のソースコードをダウンロードする。<br> ダウンロードしたソースコードを解凍する。<br> tar xf libssh-<バージョン>.tar.xz cd libssh-<バージョン> <br> libSSH1をビルドおよびインストールする。<br> mkdir build && cd build cmake .. \ -DCMAKE_INSTALL_PREFIX=/<libSSH1のインストールディレクトリ> -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_C_COMPILER=/<GCCのインストールディレクトリ>/bin/gcc \ # オプション -DCMAKE_CXX_COMPILER=/<GCCのインストールディレクトリ>/bin/g++ # オプション make -j $(nproc) make install <br> libSSH1の使用例は、以下に示すURLを参考にすること。<br> https://api.libssh.org/stable/libssh_tutorial.html <br><br> == libSSH2ライブラリのインストール == ==== libSSH2とは ==== libSSH2は、3条項BSDライセンスである。(4条項BSDライセンスから、3番目にあった「宣伝条項」を削除したもの) これにより、GPLと互換性が生まれたため、BSDライセンスのソフトウェアをGPLで配布することができる。(その逆は不可)<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 cd libssh2 <br> libSSH2をビルドおよびインストールする。<br> 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 <br> libSSH2の使用例は、以下に示すURLを参考にすること。<br> http://www.chaosstuff.com/2013/09/gnome-mplayer-remote-with-qt-and-libssh2.html<br> https://bitbucket.org/nchokoev/qtsshremote<br> <br> Windowsの場合、CMakeおよびVisual Studioを使用してlibSSH2をビルドおよびインストールすることができる。<br> * CMakeを使用する場合 ** 32ビット Windows **: <code>cmake -DBUILD_SHARED_LIBS=ON -DBUILD_EXAMPLES=OFF -DBUILD_TESTING=OFF -A Win32 .. -B "x86"</code> **: <code>cmake --build x86 --config Release</code> **: <br> ** 64ビット Windows **: <code>cmake -DBUILD_SHARED_LIBS=ON -DBUILD_EXAMPLES=OFF -DBUILD_TESTING=OFF -A x64 .. -B "x64"</code> **: <code>cmake --build x64 --config Release</code> **: <br> *: コンパイルされたDLLファイルとlibファイルは、x86とx64のディレクトリのsrc/Releaseディレクトリに配置される。 *: <br> * Visual Studioを使用する場合 *: libSSH2ディレクトリと同階層にプロジェクトを作成する。 *: プロジェクトのプロパティを選択して、プロパティ画面左ペインにある[General] - プロパティ画面右ペインにある[ターゲット名]を"libSSH2_x64"等と入力する。 *: プロパティ画面左ペインにある[リンカ] - [Advanced] - プロパティ画面右ペインにある[インポートライブラリ]プルダウンから[<Inherit from parent or project defaults>]を選択する。 <br> また、ビルドされたDLLファイルは、以下に示すWebサイトからダウンロードできる。<br> https://download.csdn.net/download/sdhongjun/15682389<br> <br><br> == 独自クラスの使用 == 以下に示すクラスは、クロスプラットフォームの非同期SSHおよびSCPソケットである。<br> このクラスは、libSSH1を必要とする。(RSA鍵の受け渡しを隠したり、コマンドの応答をreadyReadシグナル経由ではなく、シングルショットで送信している)<br> <br> Windowsで動作させるには、このクラスを使用するファイルの最上部にインクルードする必要がある。<br> これにより、QtがWindowsソケットをインクルードする前にWindows.hファイルをインクルードさせないようにする。<br> <br> <center><code><u>[[ファイル:CSSH.zip|フレームなし|中央]]</u></code></center> <br><br> __FORCETOC__ [[カテゴリ:Qt]]
Qtの基礎 - SSH
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse