分享
 
 
 

Linux系统中OpenSSH的安装和配置

王朝system·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

概述

许多网络程序,如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

l

用下面命令在系统中安装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的支持

l

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

l

设置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”目录下

l

把“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

no

“ForwardAgent”设置连接是否经过验证代理(如果存在)转发给远程计算机。

ForwardX11

no

“ForwardX11”设置X11连接是否被自动重定向到安全的通道和显示集(DISPLAY

set)。

RhostsAuthentication

no

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

RhostsRSAAuthentication

no

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

RSAAuthentication

yes

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

PasswordAuthentication

yes

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

FallBackToRsh

no

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

UseRsh

no

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

BatchMode

no

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

CheckHostIP

yes

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

StrictHostKeyChecking

no

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

IdentityFile

~/.ssh/identity

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有