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

5行目: 5行目:
* QProcessクラスを使用して、外部のSSHプロセスを呼び出して接続を確立する。
* QProcessクラスを使用して、外部のSSHプロセスを呼び出して接続を確立する。
* 他のSSHライブラリを購入する。<br>http://netsieben.com/products/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 libpcap-devel libopenssl-devel libopenssl-1_1-devel libgcrypt-devel p11-kit-devel libsodium-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>
<br><br>