Fedroa20下手工安装openssh-serverlinux
本例以Fedroa20为例,须要下载:zlib-1.2.8.tar、openssl-1.0.2e.tar、 openssh-7.1p1.tar。注意openssh-7.1.tar 下载下来没有config文件是不对的缓存
一 安装zlib库app
一、 首先解压安装zlib:tar -xf zlib-1.2.8.tarssh
二、 # tar xzvf zlib-1.2.8.tar.tar.gz
# cd zlib-1.2.8
# ./configure --prefix=/usr/local/zlib
# make
# make install
这样,就把 zlib 编译安装在 /usr/local/zilib 中了。函数
三、 制做升级包测试
cp -r /usr/local/zlib/* zlib_up/加密
tar -cvf zlib_up.tar zlib_uprest
zlib 是通用的压缩库,提供了一套 in-memory 压缩和解压函数,并能检测解压出来的数据的完整性(integrity),具体在ssl中做用不清楚server
二 升级ssl
一、解压升级md5
#tar xvf openssl-1.0.2e.tar
#cd openssl-1.0.2e
# ./Config --shared zlib-dynamic
#make
#make test (这一步是进行 SSL 加密协议的完整测试,若是出现错误就要必定先找出缘由,不然一味继续可能致使 SSH 不能使用!)
#make install
二、测试
#ldconfig -v 刷新缓存文件/etc/ld.so.cache
#openssl version –a 查看版本号,发现版本号还没升级
三、查看库文件
#ldd /usr/bin/openssl
linux-gate.so.1 => (0xb7743000)
libssl.so.10 => /lib/libssl.so.10 (0xb76b9000)
4 拷贝升级
#cp -dp /apps/openssl /usr/bin/openssl
#cp -dp libssl.so* /usr/local/ssl/lib/
#cp -dp libcrypto.so* /usr/local/ssl/lib/
5 再次检查
#openssl version –a 查看版本号成功
#openssl genrsa -des3 -out server.key 1024 验证是否可用生成key值
Ssl升级开始不成功,后来将拷贝bin,lib,配置文件,发现成功。大部分升级都是这三个配置文件。不知道有没有更好的检查是否升级成功的办法,目前看是升级成功了
三 安装ssh文件
# tar xzvf openssh-7.1p1.tar
# cd openssh-4.5p1
# ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local/openssl --with-md5-passwords
出现的错误以下
一、 configure 时提示 PAM 有错误,那通常是由于系统中没有安装 pam-devel RPM 包,找到安装光盘,安装 pam-devel 就能够解决啦)
#rpm –ivh pam-devel…
二、禁止root用户远程登录:修改PermitRootLogin,默认为yes且注释掉了;修改
是把注释去掉,并改为no。
三、修改权限ssh_host_rsa_key和ssh_host_ecdsa_key,修改成600,
4 验证方式不支持, 如客户端登陆时提示以下:
[www.linuxidc.com@CentOS-6-37 ~]$ ssh monitor@192.168.1.5
Permission denied (publickey,keyboard-interactive).
解决方法:
设置sshd的配置文件(sshd_config)的这条配置:PasswordAuthentication yes
而后重启服务:service sshd restart
5 在最后一步报错: Privilege separation user sshd does not exist
解决方法:
#vi /etc/passwd
插入: sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
再次make install 编译安装成功。检查ssh服务是否启动:# ssh –v