Keep on going, never give up.

Linux下编译安装OpenSSH

远程安装调试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

参考资料:

重新安装openssl后,SSHD服务不可以再使用的解决办法

Linux SSH远程登录管理

Linux 从源码编译安装 OpenSSH

OpenSSH 4.7安装指南

Linux下Telnet、ssh服务的配置和使用

更多文章:

Linux下重置MySQL ROOT密码

Linux mkdir函数mode权限设置

LINUX CP命令用法示例

在Linux上安装和使用xampp教程

相关评论(0):  

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

订阅博客

最新文章

本站采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载也必须遵循“署名-非商业用途-保持一致”的创作共用协议. 返回顶部
Copyright@2005-2016 Metsky.com, All rights Reserved.