`

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的安装和配置

    许多网络程序,如telnet、rsh、rlogin或rexec,用明文 (plain text)传送口令和秘密的信息,所以就可利用任何连接到网络上的计算机监听这些程序和服务器之间的...本文为大家介绍Linux操作系统中OpenSSH的安装和配置。

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

    Linux系统中OpenSSH的安装配置

    Linux下OpenSSH的配置.pdf

    Linux下OpenSSH的配置.pdf

    Linux系统下如何使用OpenSSH配置端口转发

    从自己的电脑上访问公司的CVS服务器需要利用SSH客户端的端口转发功能。在Ubuntu Linux 之下需要使用 OpenSSH配置端口转发来实现。本文举例说明了如何配置OpenSSH的端口转发功能。

    用于升级CentOS7系统openssh-9.7p1的rpm包

    CentOS7离线升级openssh-9.7p1 将openssh-9.7p1的rpm包上传到本地服务器 进入openssh9.7p1文件夹,里面包含openssh-9.7p1升级的rpm包 ...授权,重启服务,设置开机自启 查看openssh状态 查看openssh版本

    linux ssh的配置

    3.1 linux ssh的安装 ...现在,编译和安装OpenSSH:  make  make install  “make”命令把源文件编译成可执行的二进制文件,“make install”把二进制文件和配置文件安装在合适的目录下。 3.2 客户端配置

    openssh9.0p1 for centos7 or rhel7 rpm包,可直接升级,无需源码编译

    openssh又更新了,加上重保期间,为了方便给一堆主机升级,做了个RPM包...安装及设置方法在附件中。 openssh-9.0p1 rpm 升级包,适用于RHEL7/CENTOS7。 openssh-9.0p1取消了部份弱算法,所以有些低版本的软件会无法连接

    bclinux升级ssh-openssh 9.5

    openssh-9.5p1-1.el8.bclinux.x86_64.rpm openssh-clients-9.5p1-1.el8.bclinux.x86_64.rpm openssh-server-9.5p1-1.el8.bclinux.x86_64.rpm update.sh

    openssh9.0p1 for centos8 or rhel8 rpm包,可直接升级,无需源码编译

    openssh又更新了,加上重保期间,为了方便给一堆主机升级,做了个RPM包,方便升级。 安装及设置方法在附件中。 openssh-9.0p1 rpm 升级包,适用于RHEL8/CENTOS8。

    openssh8.9p1 for centos7 or rhel7 rpm包,可直接升级,无需源码编译

    openssh又更新了,加上重保期间,为了...安装及设置方法在附件中。 openssh-8.9p1 rpm 升级包,适用于RHEL7/CENTOS7。 openssh-8.9p1取消了部份弱算法,所以有些低版本的软件会无法连接,更换到新版本后即可正常连接。

    openssh-9.6p1-1.el8.x86-64 rpm包

    可用于centos8和rhel8中openssh的升级,安装前注意备份配置文件。 该rpm包安装后默认禁用root登录,需要手动修改sshd_config文件开启。 安装后包含了ssh-copy-id命令,使用ssh -V命令可查看相关版本信息。成功安装后...

    openssh8.9p1 for centos8 or rhel8 rpm包,可直接升级,无需源码编译

    安装及设置方法在附件中。 openssh-8.9p1 rpm 升级包,适用于RHEL8/CENTOS8。 openssh-8.9p1取消了部份弱算法,所以有些低版本的软件会无法连接,更换到新版本后即可正常连接。 [root@localhost x86_64]# cat /etc/...

    openssh8.9p1 for centos6 or rhel6 rpm包,可直接升级,无需源码编译

    安装及设置方法在附件中。 openssh-8.9p1 rpm 升级包,适用于RHEL6/CENTOS6。 openssh-8.9p1取消了部份弱算法,所以有些低版本的软件会无法连接,更换到新版本后即可正常连接。 [root@localhost ~]# cat /etc/...

    linux系统教程

    2.2 Linux下安装配置网卡 12 2.2.1 Linux下支持的网络设备 12 2.2.2 以太网网卡 13 2.3 配置显卡 13 2.4 Linux下使用外设 13 2.4.1 文件系统类型、设备名、装载目录 14 2.5 Linux文件目录 15 2.5.1 文件名 15 2.5.2 ...

    openssh-9.7p1-1.el8.x86-64 rpm包

    可用于centos8和rhel8中openssh的升级,安装前注意备份配置文件。 安装后包含了ssh-copy-id命令,使用ssh -V命令可查看相关版本信息。成功安装后,rhel8.9版本会显示如下信息:OpenSSH_9.7p1, OpenSSL 1.1.1k FIPS ...

    openssh-9.6.tar.gz版本,最新版本修复openssh命令注入漏洞

    openssh-9.6.tar.gz版本,最新版本修复openssh命令注入漏洞,OpenSSH是使用SSH协议进行远程登录的首要连接工具。它对所有流量进行加密,...此外,OpenSSH提供了一大套安全隧道功能、几种身份验证方法和复杂的配置选项。

    LINUX高级企业服务器管理

     掌握Linux下远程管理工具openssh、vnc和webmin的使用  配置和管理mysql数据库  配置和管理iptables和代理服务器squid  掌握Linux下自动任务at和crontab  掌握Linux内核的编译与升级  了解Linux下shell...

    两个openssh间免密码登录

    配置分两部分:一是对登录机的配置,二是对被登录机的配置,其中登录机为客户端,被登录机为服务端,也就是解决客户端到服务端的无密码登录问题。下述涉及到的命令,可以直接拷贝到Linux终端上执行,已全部验证通过...

    Linux下配置opensh

    在linux下配置openssh. 终端配置。 适合新手。 文档详细,已测试

    openssh-9.3p2-1-el7-x86-64 RPM包

    可用于centos7和rhel7中openssh的升级,安装前注意备份配置文件。

Global site tag (gtag.js) - Google Analytics