`

Linux安装和配置OpenSSH

阅读更多

许 多网络程序,如telnet、rsh、rlogin或rexec,用明文(plain text)传送口令和秘密的信息,所以就可利用任何连接到网络上的 计算机监听这些程序和服务器之间的通信并获取口令和秘密信息。现在,telnet程序对于日常的管理工作是必不可少的,但是它又是不安全的,那么用什么来 替代它呢?OpenSSH就是那些过时的、不安全的远程登录程序,如:telnet、rlogin、rsh、rdist或rcp的替代品。 

在OpenSSH的README文件中提到:ssh(Secure Shell)程序可以通过网络登录到远程主机并执行命令。它提供了很强的安全验证可以在不安全的网络中进行安全的通信。 

我们把OpenSSH配置成支持TCP-Wrappers(inetd超级服务器),这样能 够进一步地提高安全性而且也没有必要把OpenSSH作为守护进程(daemon)在后台运行。当客户端的程序提出连接请求的时候,TCP- Wrappers守护进程就会在把连接重定向到OpenSSH之前,对连接请求进行验证和授权。OpenSSH是自由软件而且使用不受专利保护的加密算 法。因此,我建议你使用OpenSSH(免费而且修正了一些bug),而不使用SSH1(免费但是有bug)和SSH2(现在使用商用的许可协议)。 

注意事项  

下面所有的命令都是Unix兼容的命令。 

源路径都为“/var/tmp”(当然在实际情况中也可以用其它路径)。 

安装在RedHat Linux 6.1和6.2下测试通过。 

要用“root”用户进行安装。  OpenSSH的版本是1.2.3。 

软件包的来源OpenSSH的主页:http://violet.ibs.com.au/openssh/ 。  下载:openssh-1.2.3.tar.gz。 

准备工作

编译OpenSSH需要zlib-devel软件包,这个软件包包括头文件和函数库。编译使用zlib的压缩和解压函数的程序,就要事先安装这个软件包。可以用RedHat 6.1或6.2的光盘安装。 

l 用下面的命令验证一下在系统中是否已经安装了zlib-devel软件包: 

 

[root@deep /]# rpm -qi zlib-devel 

用下面命令在系统中安装zlib-devel软件包:

 

   [root@deep /]# mount /dev/cdrom /mnt/cdrom/    [root@deep /]# cd /mnt/cdrom/RedHat/RPMS/    [root@deep RPMS]# rpm -Uvh zlib-devel-version.i386.rpm    gd ##################################################    [root@deep RPMS]# rpm -Uvh gd-devel-version.i386.rpm    zlib-devel ##################################################    [root@deep RPMS]# cd /; umount /mnt/cdrom/

 

在使用OpenSSH之前,还必须安装OpenSSL。因为就算你不使用OpenSSL创建或保存加密文件,OpenSSH需要用OpenSSL的库文件才能正常运行。

安装软件包需要注意的问题  

最好在编译前和编译后都做一张系统中所有文件的列表,然后用“diff”命令去比较它们,找 出其中的差别并知道到底把软件安装在哪里。只要简单地在编译之前运行一下命令“find /* >OpenSSH1”,在编译和安装完软件之后运行 命令“find /* > OpenSSH2”,最后用命令“diff OpenSSH1 OpenSSH2 > OpenSSH- Installed”找出变化。 

编译和安装  

把软件包(tar.gz)解压:

 

[root@deep /]# cp openssh-version.tar.gz /var/tmp    [root@deep /]# cd /var/tmp    [root@deep tmp]# tar xzpf openssh-version.tar.gz 

 

编译和优化 

第一步  

转到OpenSSH的新目录下,先设置编译器的编译参数:

 

   CC="egcs" \    CFLAGS="-O9 -funroll-loops -ffast-math -malign-double 
-mcpu=pentiumpro -march=pentiumpro -fomit-frame-    pointer -fno-exceptions" \    ./configure \    --prefix=/usr \    --sysconfdir=/etc/ssh \    --with-tcp-wrappers \    --with-ipv4-default \    --with-ssl-dir=/usr/include/openssl 

 

这些设置告诉编译器如何编译OpenSSH: 

l--链接上libwrap函数库并且加上对TCP Wrappers的支持。 

1--禁止Linux/glibc-2.1.2中域名解析的延时,缩短建立连接的时间。 

1--设置OpenSSL函数库的路径,这样OpenSSH才能正常运行。 

第二步 

现在,编译和安装OpenSSH: 

 

[root@deep openssh-1.2.3]# make    [root@deep openssh-1.2.3]# make install    [root@deep openssh-1.2.3]# make host-key    [root@deep openssh-1.2.3]# install -m644 contrib/redhat/sshd.pam /etc/pam.d/sshd

“make”命令把源文件编译成可执行的二进制文件,“make install”把二进制文件和配置文件安装在合适的目录下。“make host-key”生成主机密匙,“install”命令在RedHat Linux上安装对OpenSSH的PAM支持。

清除不必要的文件  

用下面的命令删除不必要的文件: 

 

[root@deep /]# cd /var/tmp    [root@deep tmp]# rm -rf openssh-version/ openssh-version.tar.gz 

  

“rm”命令删除所有编译和安装OpenSSH所需要的源程序,并且把OpenSSH软件的压缩包删除掉。 

配置  

可以到这去下载“floppy.tgz”文件:http://www.openna.com/books/floppy.tgz 。 把“floppy.tgz”文件解开之后,可以在相应的目录下发现我们在这本书中介绍的所有软件的配置文件。这样就没有必要手工重新生成这些文件,或者用 拷贝粘贴的方法把它们粘贴到配置文件中去。不管是打算自己动手生成配置文件还是拷贝现成的,你都要学会自己修改配置文件并且把配置文件拷贝到正确的目录 下。下面将具体说明。 

为了运行OpenSSH,必须创建或者把下面的文件拷贝到相应的目录下: 

l--把“sshd_config”文件拷贝到“/etc/ssh”目录下。 

1--把“ssh_config”文件拷贝到“/etc/ssh”目录下。 

l--把“ssh”文件拷贝到“/etc/pam.d/”目录下。 

可以把“floppy.tgz”解压之后,找到上面列出来的文件,并拷贝到合适的目录下,或者用拷贝粘贴的方法从本书中直接粘贴出。 

配置“/etc/ssh/ssh_config”文件

“/etc/ssh/ssh_config”文件是OpenSSH系统范围的配置文件,允许 你通过设置不同的选项来改变客户端程序的运行方式。这个文件的每一行包含“关键词-值”的匹配,其中“关键词”是忽略大小写的。下面列出来的是最重要的关 键词,用man命令查看帮助页(ssh (1))可以得到详细的列表。 

编辑“ssh_config”文件(vi /etc/ssh/ssh_config),添加或改变下面的参数: 

 

# Site-wide defaults for various options    Host *    ForwardAgent no    ForwardX11 no    RhostsAuthentication no    RhostsRSAAuthentication no    RSAAuthentication yes    PasswordAuthentication yes    FallBackToRsh no    UseRsh no    BatchMode no    CheckHostIP yes    StrictHostKeyChecking no    IdentityFile ~/.ssh/identity    Port 22    Cipher blowfish    EscapeChar ~ 

  

下面逐行说明上面的选项设置: 

Host *:选项“Host”只对能够匹配后面字串的计算机有效。“*”表示所有的计算机。 

ForwardAgent n“ForwardAgent”设置连接是否经过验证代理(如果存在)转发给远程计算机。 ForwardX11 n“ForwardX11”设置X11连接是否被自动重定向到安全的通道和显示集(DISPLAY set)。 

RhostsAuthentication n“RhostsAuthentication”设置是否使用基于rhosts的安全验证。 

RhostsRSAAuthentication n“RhostsRSAAuthentication”设置是否使用用RSA算法的基于rhosts的安全验证。 

RSAAuthentication yes:“RSAAuthentication”设置是否使用RSA算法进行安全验证。 

PasswordAuthentication yes:“PasswordAuthentication”设置是否使用口令验证。 

FallBackToRsh n“FallBackToRsh”设置如果用ssh连接出现错误是否自动使用rsh。 

UseRsh n“UseRsh”设置是否在这台计算机上使用“rlogin/rsh”。 

BatchMode n“BatchMode”如果设为“yes”,passphrase/password(交互式输入口令)的提示将被禁止。当不能交互式输入口令的时候,这个选项对脚本文件和批处理任务十分有用。 

CheckHostIP yes:“CheckHostIP”设置ssh是否查看连接到服务器的主机的IP地址以防止DNS欺骗。建议设置为“yes”。 

StrictHostKeyChecking n“StrictHostKeyChecking”如果设置成“yes”,ssh就不会自动把计算机的密匙加入“$HOME/.ssh/known_hosts”文件,并且一旦计算机的密匙发生了变化,就拒绝连接。

<script src="http://www.5dlinux.com/cop.js"></script>Linux学习网 收集整理 ,转贴请标明原始链接。

分享到:
评论

相关推荐

    Linux系统中OpenSSH的安装配置.rar_linux 配置_openssh_ssh

    在这个压缩包文件中,我们将探讨如何在Linux系统上安装和配置OpenSSH。 首先,我们需要了解OpenSSH的基本组件。OpenSSH服务器(sshd)监听网络上的连接请求,而OpenSSH客户端(ssh)则用于发起连接。它们之间通过...

    Linux下OpenSSH的配置.pdf

    《Linux下OpenSSH的配置》是一篇关于在Linux操作系统中设置和配置OpenSSH软件的专业文章。OpenSSH是一款安全的网络协议,用于替代传统的不安全服务,如FTP、POP和Telnet,它通过加密数据传输来保护用户的隐私和系统...

    Linux操作系统中OpenSSH的安装和配置.zip

    Linux操作系统中OpenSSH的安装和配置

    Linux openssh升级

    下载`openssh-9.3p1`,配置时指定`zlib`和`openssl`的路径,进行编译和安装。安装完成后,修改`sshd_config`配置文件,允许root用户SSH登录。 然后,替换旧版本的`sshd`及相关命令,拷贝新的`sshd`到 `/usr/sbin`,...

    openssh8.4安装包

    在Linux系统中,OpenSSH(Open Source Secure Shell)是一个安全的网络协议,用于在不同主机之间提供加密的通信服务,包括远程登录、文件传输等。OpenSSH 8.4是该软件的一个版本,相较于之前的版本可能包含了一些新...

    Linux安裝OpenSSH所需包.7z

    在Red Hat系统上,你需要编译和安装这个包来替换或升级现有的OpenSSH服务器和客户端组件。 3. **zlib-1.2.11.tar.gz**: Zlib是一个免费的、跨平台的数据压缩库,广泛用于各种软件项目,包括OpenSSH。Zlib库提供了...

    openssh9.6p1离线安装rpm包

    4. **配置与启动**:安装完成后,需要更新配置文件(如`/etc/ssh/sshd_config`),根据实际需求设置认证方式、端口等。然后启动OpenSSH服务: ``` sudo systemctl start sshd sudo systemctl enable sshd ``` 5...

    openssh8.8 rpm包 可直接安装

    openssh8.8 RPM包是针对CentOS Linux操作系统的一个安全套接层(SSH)客户端和服务端软件包。SSH是Secure Shell的缩写,它提供了一种安全的远程登录和其他网络服务,如文件传输,用于在不同系统之间进行加密通信。...

    linux升级openssh到7.8p版本包

    5. **下载和安装新版本**: 下载OpenSSH 7.8p的RPM包。在本例中,你已经有一个名为"升级openssh7.8p"的压缩包文件,解压并安装: ``` tar -xvf 升级openssh7.8p cd openssh7.8p sudo rpm -Uvh openssh*.rpm ``...

    信息安全+rockylinux9.3+openssh9.7p1+漏洞修复

    最后,编译和安装OpenSSH 9.7p1: ```bash cd ../openssh-9.7p1 ./configure --with-ssl-dir=/usr/local/ssl make sudo make install ``` 在完成安装后,为了安全起见,我们需要修改`/etc/ssh/sshd_config`配置...

    openssh8.1升级

    openssh8.1升级 OpenSSH是一种安全的网络协议,用于远程...OpenSSH 8.1升级需要遵循严格的步骤,包括卸载旧版本、安装新版本、配置SELinux和SSH服务,重启SSH服务等。只有遵循这些步骤,才能确保OpenSSH 8.1升级成功。

    openssh8.8-1-rockylinux8.4.tar.gz

    本篇将详细介绍如何在Rocky Linux 8.4操作系统上安装和配置OpenSSH 8.8p1。 一、OpenSSH 8.8p1概述 OpenSSH 8.8p1是OpenSSH项目的最新成果,带来了许多改进和安全修复。此版本增强了加密算法,提升了安全性,同时...

    linux的openssh

    在 Linux 系统中,OpenSSH 是默认安装的,安装目录为 /etc/ssh,对应的服务器配置文件为 /etc/ssh/sshd_config。 1. Port 22 Port 选项用来设置 sshd 监听的端口,默认的端口号为 22。 2. Protocol 2,1 Protocol...

    OpenSSH的安装和使用

    2. **使用RPM包安装**:对于Linux发行版,如红旗Linux 2.0,可以通过RPM包来安装OpenSSH服务器。需要安装的RPM包包括: - openssh-2.1.1p4-1.i386.rpm - openssh-clients-2.1.1p4-1.i386.rpm - openssh-askpass-...

    RedHat Linux主机升级openssh步骤

    4. **安装openssh**:解压`openssh-5.9p1.tar.gz`,同样地进行配置、编译和安装。执行`./configure`, `make`, `make install`。 5. **配置和启动新版本openssh**:在升级完成后,需要修改配置文件(如`/etc/ssh/...

    Ubuntu下openssh-server手工安装 手把手教你安装

    在没有网络的情况下,我们可以通过手动安装的方式来设置OpenSSH服务器,这将涉及对命令行操作的熟悉以及对软件包管理的理解。 首先,OpenSSH-server是OpenSSH的服务器组件,它允许其他计算机通过SSH协议安全地连接...

    openssh-8.3_RPM包-for_linux el7.zip

    本文将详细介绍如何在Linux Enterprise Edition 7 (EL7)上安装和配置OpenSSH 8.3的RPM包。 一、RPM包介绍 RPM(Red Hat Package Manager)是基于Linux的软件包管理器,它允许用户轻松地安装、升级和卸载软件。在本...

    openssh离线升级8.8

    openssh是ssh协议的开源实现,广泛应用于Linux、Unix和Windows平台。随着技术的发展,openssh的版本也在不断更新,新的版本带来了新的功能和改进的安全性。本文将指导用户如何离线升级openssh到8.8版本。 一、升级...

Global site tag (gtag.js) - Google Analytics