12,964
回編集
7行目: | 7行目: | ||
<br><br> | <br><br> | ||
== | == libSSHとlibSSH2の比較 == | ||
libSSHとlibSSH2は、どちらもSSHプロトコルを実装したライブラリである。<br> | libSSHとlibSSH2は、どちらもSSHプロトコルを実装したライブラリである。<br> | ||
libSSHはC言語、libSSH2はC++言語で記述されている。<br> | libSSHはC言語、libSSH2はC++言語で記述されている。<br> | ||
20行目: | 20行目: | ||
! style="background-color:#66CCFF; width: 60%;" | 項目 | ! style="background-color:#66CCFF; width: 60%;" | 項目 | ||
! style="background-color:#66CCFF; width: 20%;" | libSSH2 | ! style="background-color:#66CCFF; width: 20%;" | libSSH2 | ||
! style="background-color:#66CCFF; width: 20%;" | | ! style="background-color:#66CCFF; width: 20%;" | libSSH | ||
|- | |- | ||
| ライブラリ名 || libssh2.so || libssh.so | | ライブラリ名 || libssh2.so || libssh.so | ||
53行目: | 53行目: | ||
<br><br> | <br><br> | ||
== | == libSSHライブラリのインストール == | ||
==== | ==== libSSHとは ==== | ||
libSSHは、LGPL 2.1ライセンスである。<br> | |||
<br> | <br> | ||
==== パッケージ管理システムからインストール ==== | ==== パッケージ管理システムからインストール ==== | ||
61行目: | 61行目: | ||
<br> | <br> | ||
==== ソースコードからインストール ==== | ==== ソースコードからインストール ==== | ||
libSSHのビルドに必要なライブラリをインストールする。<br> | |||
sudo zypper install zlib-devel readline-devel | sudo zypper install zlib-devel readline-devel libpcap-devel libopenssl-devel libopenssl-1_1-devel libgcrypt-devel p11-kit-devel libsodium-devel libcmocka-devel doxygen \ | ||
# 以下に示すライブラリは不要の可能性あり | # 以下に示すライブラリは不要の可能性あり | ||
openpgm-devel ldns-devel zeromq-devel unbound-devel libunwind | openpgm-devel ldns-devel zeromq-devel unbound-devel libunwind-devel \ | ||
libheimdal-devel libgssglue-devel gssntlmssp-devel | libheimdal-devel libgssglue-devel gssntlmssp-devel | ||
<br> | <br> | ||
[https://www.libssh.org/ | [https://www.libssh.org/ libSSHの公式Webサイト]または[https://git.libssh.org/projects/libssh.git libSSH向けのGit]にアクセスして、libSSHのソースコードをダウンロードする。<br> | ||
ダウンロードしたファイルを解凍する。<br> | |||
tar xf libssh-<バージョン>.tar.xz | tar xf libssh-<バージョン>.tar.xz | ||
cd libssh-<バージョン> | cd libssh-<バージョン> | ||
<br> | <br> | ||
libSSHをビルドおよびインストールする。<br> | |||
mkdir build && cd build | mkdir build && cd build | ||
cmake .. \ | cmake .. \ | ||
-DCMAKE_INSTALL_PREFIX=/< | -DCMAKE_INSTALL_PREFIX=/<libSSHのインストールディレクトリ> -DCMAKE_BUILD_TYPE=Release \ | ||
-DCMAKE_C_COMPILER=/<GCCのインストールディレクトリ>/bin/gcc \ # オプション | -DCMAKE_C_COMPILER=/<GCCのインストールディレクトリ>/bin/gcc \ # オプション | ||
-DCMAKE_CXX_COMPILER=/<GCCのインストールディレクトリ>/bin/g++ # オプション | -DCMAKE_CXX_COMPILER=/<GCCのインストールディレクトリ>/bin/g++ # オプション | ||
83行目: | 83行目: | ||
make install | make install | ||
<br> | <br> | ||
libSSHの使用例は、以下に示すURLを参考にすること。<br> | |||
https://api.libssh.org/stable/libssh_tutorial.html | https://api.libssh.org/stable/libssh_tutorial.html | ||
<br><br> | <br><br> | ||
151行目: | 151行目: | ||
== 独自クラスの使用 == | == 独自クラスの使用 == | ||
以下に示すクラスは、クロスプラットフォームの非同期SSHおよびSCPソケットである。<br> | 以下に示すクラスは、クロスプラットフォームの非同期SSHおよびSCPソケットである。<br> | ||
このクラスは、libSSHを必要とする。(RSA鍵の受け渡しを隠したり、コマンドの応答をreadyReadシグナル経由ではなく、シングルショットで送信している)<br> | |||
<br> | <br> | ||
Windowsで動作させるには、このクラスを使用するファイルの最上部にインクルードする必要がある。<br> | Windowsで動作させるには、このクラスを使用するファイルの最上部にインクルードする必要がある。<br> |