Linux下如何编译安装OpenSSH
时间:2014-08-04 20:40 来源:linux.it.net.cn 作者:it
SSH在系统管理与运维中的作用,想必大家都是知道的,常用且不可缺少。
远程安装调试SSH特别注意,OpenSSH卸载后,可能导致凡使用SSH协议连接服务器的工具都无法登陆,比如WINSCP、PUTTY等,如果你正使用远程桌面,最好先开启TELNET并确保开机启动(或其它可替代的远程管理工具也可以),客户端可以正常连接后才可动手更新SSH,否则一旦SSH启动失败,就只能找机房了。
一、卸载原来SSH
默认SSH会安装为服务,且开机启动,所以要先把服务停止(本文环境RedHat5.4):
service sshd stop
这时,建议备份一下/etc/init.d/sshd这个启动文件,因为下文编译安装OpenSSH后,没这个启动文件,尽管实际修改使用也不是太方便,除非你下文的安装目录跟原来的一样的。
mv /etc/init.d/sshd /etc/init.d/sshd.old
卸载软件包:
rmp -qa|grep openssh*
把输出列表中的SSH软件包都卸载掉。卸载方法请参考:Linux下软件卸载方法
二、下载并安装新的OPENSSH
复制代码代码如下:
cd /tmp
wget http://ftp.jaist.ac.jp/pub/OpenBSD/OpenSSH/portable/openssh-5.9p1.tar.gz
tar xzvf openssh-5.9p1.tar.gz
cd openssh-5.9p1
./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-pam --with-ssl-dir=/usr/local/openssl --with-md5-passwords --mandir=/usr/share/man --with-zlib=/usr/local/zlib2
make && make install
这里需要注意,上面的./configure配置,天缘的默认路径如下:
openssl -> /usr/local/openssl
zlib -> /usr/local/zlib2
确认这些路径跟你的系统对应。不同则需手动修改掉。此外还有些参数,比如:
--bindir=/usr/bin --sbindir=/usr/sbin
可根据需要设定。
三、查询SSH版本
[root@localhost]# ssh -V
OpenSSH_5.9p1, OpenSSL 1.0.1 14 Mar 2012
四、设为服务开机运行
1、简单的开机启动设置方法
由于是自编译安装的OpenSSH,没有sshd这个启动文件,所以直接使用传统的启动方式,直接修改rc.local。打开/etc/rc.local,添加:
/usr/sbin/sshd
即可设置为开机启动。
2、爱折腾设置开机方法
使用chkconfig设置结合上文备份的sshd文件设为开机启动有点麻烦,首先还原/etc/init.d/sshd:
mv /etc/init.d/sshd.old /etc/init.d/sshd
再打开/etc/init.d/sshd文件(原装的sshd启动配置文件大概有4K多,主要确认顶部几个路径是否正确即可),天缘大概整理一下,主要如下几个(可能不一定完整,下次实际确认一下再补充完善):
复制代码代码如下:
...
# source function library
. /etc/rc.d/init.d/functions
# pull in sysconfig settings
[ -f /etc/sysconfig/sshd ] && . /etc/sysconfig/sshd
RETVAL=0
prog="sshd"
lockfile=/var/lock/subsys/$prog
# Some functions to make the below more readable
KEYGEN=/usr/bin/ssh-keygen
SSHD=/usr/sbin/sshd
RSA1_KEY=/etc/ssh/ssh_host_key
RSA_KEY=/etc/ssh/ssh_host_rsa_key
DSA_KEY=/etc/ssh/ssh_host_dsa_key
PID_FILE=/var/run/sshd.pid
...
确认这些并修改这些路径后保存。
使用chkconfig添加为服务:
chkconfig –add sshd
chkconfig –level 2345 sshd on
这样就设置完成了。
五、重启电脑或服务
启动SSH:
service sshd start
停止SSH:
service sshd stop
(责任编辑:IT)
SSH在系统管理与运维中的作用,想必大家都是知道的,常用且不可缺少。 远程安装调试SSH特别注意,OpenSSH卸载后,可能导致凡使用SSH协议连接服务器的工具都无法登陆,比如WINSCP、PUTTY等,如果你正使用远程桌面,最好先开启TELNET并确保开机启动(或其它可替代的远程管理工具也可以),客户端可以正常连接后才可动手更新SSH,否则一旦SSH启动失败,就只能找机房了。 一、卸载原来SSH
默认SSH会安装为服务,且开机启动,所以要先把服务停止(本文环境RedHat5.4):
二、下载并安装新的OPENSSH
复制代码代码如下:
cd /tmp
wget http://ftp.jaist.ac.jp/pub/OpenBSD/OpenSSH/portable/openssh-5.9p1.tar.gz tar xzvf openssh-5.9p1.tar.gz cd openssh-5.9p1 ./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-pam --with-ssl-dir=/usr/local/openssl --with-md5-passwords --mandir=/usr/share/man --with-zlib=/usr/local/zlib2 make && make install
这里需要注意,上面的./configure配置,天缘的默认路径如下: 三、查询SSH版本
[root@localhost]# ssh -V
1、简单的开机启动设置方法
复制代码代码如下:
...
# pull in sysconfig settings
RETVAL=0
# Some functions to make the below more readable
确认这些并修改这些路径后保存。 |