重庆机场大巴时刻表:linuxblog | [转]openSSH服务的安装和配置

来源:百度文库 编辑:九乡新闻网 时间:2024/04/20 13:49:47

[转]openSSH服务的安装和配置

作者 wuyupu 15:07 | 静态链接网址 | 最新回复 (0) | 引用 (0) | 一般分类

为什么要用OpenSSH?
麦子在他写的那篇名为
SSH的文章提到——使用telnet进行远程设备维护的时候,由于密码和通讯都是明文的,易受sniffer侦听,所以应采用SSH替代telnet。

为什么首先提安装OpenSSH而不是其他的是因为xxbin实在不愿意用机器的物理终端或者是telnet来操作机器。

OpenSSH是Linux/UNIX上用的最多的SSH Server,xxbin无论是在Linux/FreeBSD还是AIX上都用它,不过请大家注意,OpenSSH的低版本是有漏洞的,另外还有一点特别要小心——OpenSSH以及Apache(SSL Support)等所依靠的软件OpenSSL的低版本也存在一些漏洞的,因此,在安装OpenSSH以及Apache之前,需要安装最新版本的OpenSSL,切记切记,否则即使你安装了最新版本的Apache和OpenSSH,系统还是存在致命的漏洞!

首先安装OpenSSL:
http://www.openssl.org/source/ 下载最新版本的OpenSSL,在写这篇文章的时候,最新版本的OpenSSL为OpenSSL 0.9.7a

(在安装前请把系统中原来安装的旧的版本的openssl卸载掉)
tar -xvzf openssl-0.9.7a.tar.gz
cd openssl-0.9.7
./config shared
make
make test
make install


如果没有问题,那么OpenSSL就被安装在/usr/local/里面了,注意上面的配置命令里面有个shared,意思是创建Shared Libraries,这个选项一定要加上,否则某某程序报错说找不到某某so你就不要来找我。

另外,为了兼容某些程序比如OpenSSH,需要手动创建一些符号连接:
cd /usr/local/ssl/lib
ln -s libcrypto.so.0.9.7 libcrypto.so.2
ln -s libssl.so.0.9.7 libssl.so.2


最后要刷新系统的动态连接库配置
echo /usr/local/ssl/lib >> /etc/ld.so.conf
ldconfig -v


看看/usr/local/ssl/lib下是否存在下面两行:
libcrypto.so.0.9.7 -> libcrypto.so.0.9.7
libssl.so.0.9.7 -> libssl.so.0.9.7


接着安装OpenSSH:
ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/ 下载最新版本的OpenSSH,在写这篇文章的时候,最新版本的OpenSSH为OpenSSH 3.5 P1tar -xvzf openssh-3.5p1.tar.gz
cd openssh-3.5p1
./configure --with-ssl-dir=/usr/local/ssl
make
make install


注意查看configure的输出,找到有关OpenSSL的部分
类似:
checking OpenSSL header version... 90702f (OpenSSL 0.9.7b 10 Apr 2003)
checking OpenSSL library version... 90702f (OpenSSL 0.9.7b 10 Apr 2003)

看看是否应用了最新版本OpenSSL

如果没有问题,那么OpenSSH就被安装在/etc/local里面了,所有有关OpenSSH的配置文件都放在/usr/local/etc目录下,修改配置文件/usr/local/etc/sshd_config

vi /usr/local/etc/sshd_config

CODE

# This is the sshd server system-wide configuration file.  See
# sshd_config(5) for more information.
Port 22
Protocol 2,1
ListenAddress 0.0.0.0

HostKey /usr/local/etc/ssh_host_key
HostKey /usr/local/etc/ssh_host_rsa_key
HostKey /usr/local/etc/ssh_host_dsa_key

SyslogFacility AUTH
LogLevel INFO

PermitRootLogin yes
RhostsAuthentication no
IgnoreRhosts yes

UsePrivilegeSeparation yes
Subsystem sftp /usr/local/libexec/sftp-server



这里面主要要改动的就是PermitRootLogin yes

配置OpenSSH自启动:

cp contrib/redhat/sshd.init /etc/init.d/sshd
ln -s /etc/init.d/sshd /etc/rc.d/rc3.d/S55sshd



启动OpenSSH:

/etc/init.d/sshd start
若系统没有提示错误那就说明sshd已经起来了,可以ps -ef |grep sshd来确认一下,同时也可以用ssh客户端来测试一番。
若系统提示错误,就应该根据错误来进行排错,因为可能的错误实在太多,在这里就不做讨论了。


推荐采用的SSH客户端:
如果在Linux/UNIX下,那么用OpenSSH带的ssh客户端就OK了,如果在Windows下,强烈建议采用SecureCRT。