问题是本书中的代码与旧版本的 libssh 是不兼容的。因此,我推荐你自己建构 libssh。

你可以从 https://www.libssh.org/ 获取最新版本的 libssh。如果你熟练于安装 C 库文件并感觉很轻松那就放手去干吧。如果不是,那就阅读这个一步步的介绍吧。

在开始安装之前,确保你已经先成功安装了 OpenSSL 库。这些是 libssh 库所需要的。

我们页需要安装 CMake 来构建 libssh。你可以从 https://cmake.org/ 获取 CMake。你也可以用以下命令从发行版的打包工具中获取:

sudo apt-get install cmake

最后, zlib 库也被 libssh 所需要。你可以使用这个命令安装 zlib 库:

sudo apt-get install zlib-dev

一旦你已经安装好了 CMake, zlib 库和 OpenSSL, 从
https://www.libssh.org/
找到你想要版本的 libssh 。在写作的时候 0.8.7 版本是最新的(译者翻译的时候最新版本是0.9.5) 。你可以用下面的命令下载和解压源代码:

wget https://www.libssh.org/files/0.8/libssh-0.8.7.tar.xz
tar xvf libssh-0.8.7.tar.xz
cd libssh-0.8.7

我建议你看一看包含在 libssh 中的安装介绍。你可以使用 less 来查看它们。按 Q 键退出 less:

less INSTALL

一旦你已经熟悉了构建介绍, 你可以尝试用这些命令来构建 libssh:

mkdir build
cd build
cmake .. # 如果想要自己指定安装目录的话,
		#可以使用参数 -DCMAKE_INSTALL_PREFIX=路径 
	# 例如译者使用: cmake -DCMAKE_INSTALL_PREFIX=/usr/include ..

最后的一步是用下面的命令安装这个库:

sudo make install

扩展阅读:

在这里插入图片描述GCC、头文件查找顺序总结

头文件与库文件的区别

  由于实习工作中要用到基于sftp协议开发一个网络程序,同时要实现运行在Windows平台上,找来找去就这个libssh2库好用,在网络上算是有那么一点点的文档可以看。这个库还不是现成的,还要进行源代码编译,自己弄,看起来很复杂的样子。最可恨的是居然还不是简单的make&&make install 就可以的,还要依赖库。linux下好像简单的yum一下就可以的样子(羡慕)。整个环... 在 Linux 上,SSH 是一种非常常用的远程登录协议。除了使用 ssh 命令行工具之外,我们还可以在 C++ 程序中使用 SSH 客户端库来实现远程登录和文件传输等功能。本文就来介绍两个常用的 C++ SSH 客户端库:libsshlibssh2。 下载 xbmc,下载地址为  http://ftp.sunet.se/pub/multimedia/xbmc/releases/source/xbmc-12.1.tar.gz 执行  ./configure : 第一次碰到的错误如下: configure: Using Python 2.6 checking for main in -lGL... yes checki 对于 Linux 操作系统来说,一般通过 VNC、Teamviewer 和 SSH 等工具来进行远程管理,SSH 是 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。 SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SS... 1.1 VS2005 1.2 安装脚本语言ActivePerl http://www.activestate.com/ActivePerl下载,安装即可 1.3 配置环境变量,将per安装好后的per.exe所在的路径配置到环境变量,如C:\Perl\bin 2.编译各种依赖库 LibSSH2库依赖openssl和zlib两个库,所以我们必须先编译zlib和 最近碰到了一个linux ssh(192.168.112.10)连接报错的一个问题,真的是困扰了我好几天,一直找不到相关原因,下面我开始阐述我的解决历程了... 背景:某天接到一个问题反馈,厂商告知数据库连不上了,提示Connection closed by foreign host 然后我自己首先试验了下,确实出现问题,无法登陆,开始处理。。。。。 1、通过管理硬件接口的服务器(192.1... 系统版本:SunOS solaris1 5.10 内核版本:5.10 i86pc Solaris 10在安装完成后,默认是没有开启ssh服务的,如果要开启ssh服务,就要做如下操作。 1、修改配置文件#vi /etc/ssh/sshd_config将PermitRootLogin no更改为PermitRootLogin yes 2、重启ssh服务#/lib/svc/method/ssh...