OpenSSH是一个免费的开源,完全实现了SSH协议2.0 。 它提供了许多工具,用于安全地访问和管理远程计算机系统,以及管理身份验证密钥,例如ssh(安全替代tenet), scp , sftp (安全替换ftp ),ssh-keygen,ssh-copy-id ,ssh-add等等。
最近发布了OpenSSH 7.9 ,并附带了许多新功能和错误修复; 您可以阅读发行说明以获取更多信息。
另请参阅 : 如何从Linux中的存储库安装OpenSSH服务器
在本文中,我们将解释如何从源系统在Linux系统上安装和配置最新版本的OpenSSH服务器和客户端。 我们假设您已经安装了OpenSSH套件。
要求:
- Debian / Ubuntu或RHEL / CentOS Linux系统
- C编译器
- Zlib 1.1.4或1.2.1.2或更高版本
- LibreSSL或OpenSSL> = 1.0.1 <1.1.0
在Linux中安装OpenSSH Server和Client
在安装最新版本的SSH之前,请确保使用以下命令检查系统上安装的SSH的当前版本。
$ ssh -V OpenSSH_7.7p2 Ubuntu-4ubuntu2.5, OpenSSL 1.0.2g 1 Mar 2016
从上面的结果来看,安装的OpenSSH版本是7.7 ,要安装最新的OpenSSH版本,首先需要安装一些依赖项,即开发工具或构建必需品以及其他所需的软件包,如下所示。
-------------- CentOS/RHEL 7/6 -------------- $ sudo yum group install 'Development Tools' $ sudo yum install zlib-devel openssl-devel -------------- Fedora 22+ -------------- $ sudo dnf group install 'Development Tools' $ sudo dnf install zlib-devel openssl-devel -------------- Debian/Ubuntu -------------- $ sudo apt update $ sudo apt install build-essential zlib1g-dev libssl-dev
要为安装OpenSSH V7.9服务器创建合适的环境,我们需要创建一个名为“sshd”的新系统用户和组,以及一个安全的chroot位置 。
注意 :通常,如果您有现有安装,则此环境应已就绪,您可以跳过本节并转到下一步。 否则,请运行以下命令进行设置。
$ sudo mkdir /var/lib/sshd $ sudo chmod -R 700 /var/lib/sshd/ $ sudo chown -R root:sys /var/lib/sshd/ $ sudo useradd -r -U -d /var/lib/sshd/ -c "sshd privsep" -s /bin/false sshd
解释上面useradd命令中的标志:
- -r - 告诉useradd创建系统用户
- -U - 指示它创建具有相同名称和组ID的组
- -d - 指定users目录
- -c - 用于添加注释
- -s - 指定用户的shell
现在,从任何可用的HTTP镜像下载OpenSSH版本7.9的tarball,或者您可以使用以下wget命令直接在终端中下载。
$ wget -c https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.9p1.tar.gz $ tar -xzf openssh-7.9p1.tar.gz $ cd openssh-7.9p1/
现在我们将使用--with-md5-passwords
, - --with-privsep-path
和--sysconfdir
选项构建和安装OpenSSH服务器,它将安装/ usr / local /中的所有文件(这是默认安装PREFIX )。
您可以通过运行./configure -h
查看所有可用选项,并进一步自定义安装。
$ ./configure -h
例如,要启用PAM和SELinux支持,分别添加-with-pam和-with-selinux选项,您需要安装所有必需的头文件才能使用它们。
$ ./configure --with-md5-passwords --with-pam --with-selinux --with-privsep-path=/var/lib/sshd/ --sysconfdir=/etc/ssh $ make $ sudo make install
安装OpenSSH后,打开另一个终端窗口并检查系统上现在安装的OpenSSH版本。
$ ssh -V OpenSSH_7.9p1, OpenSSL 1.0.2g 1 Mar 2016
各种OpenSSH配置文件位于:
- 〜/ .ssh / * - 此目录存储用户特定的ssh客户端配置(ssh别名)和密钥。
- / etc / ssh / ssh_config - 此文件包含系统范围的ssh客户端配置。
- / etc / ssh / sshd_config - 包含sshd服务配置。
要配置ssh别名,请参阅: 如何配置自定义SSH连接以简化远程访问
您可能还想阅读以下SSH相关文章。
- 如何在Linux中创建SSH隧道或端口转发
- 如何在Linux中将默认SSH端口更改为自定义端口
- 在Linux中加速SSH连接的4种方法
- 如何在Linux中查找所有失败的SSH登录尝试
- 如何在Linux中禁用SSH root登录
而已! 在本文中,我们已经解释了如何在Linux系统上安装和配置最新版本的OpenSSH服务器和客户端。 如果您有任何问题或意见,请使用下面的反馈表与我们联系。