centos6.8离线升级openssh到7.9版本


打包下载:

以下用到的所有安装包和依赖包

1.安装telnet服务和客户端
    
    1.1按顺序执行
    
        cd ~/package/telnet
    
        rpm -ivh xinetd-2.3.14-40.el6.x86_64.rpm
        rpm -ivh telnet-server-0.17-48.el6.x86_64.rpm
        rpm -ivh telnet-0.17-48.el6.x86_64.rpm
        
    
    1.2启用telnet服务
        vi /etc/xinetd.d/telnet
        将其中disable字段的yes改为no以启用telnet服务
    
    1.3默认情况下,系统是不允许root用户telnet远程登录的。如果要使用root用户直接登录,需设置如下内容:
        echo  'pts/0'  >>/etc/securetty
        echo 'pts/1' >>/etc/securetty
    
    1.4启动并设置开机自启
        service xinetd start
        chkconfig xinetd on
    
    1.5测试是否能连接。通过其他linux机器或者Windows cmd窗口,需要安装telnet客户端
        telnet ip
        
        补充:输入用户名密码正确的情况下提示Login incorrect
            修改/etc/pam.d/remote,注释掉:auth  required  pam_securetty.so
            再重启xinetd
    
2.安装ftp服务
    2.1.安装vsftp
    
        cd ~/package/vsftp
        rpm -ivh vsftpd-2.2.2-24.el6.x86_64.rpm
        
        报错error: Failed dependencies:libcrypto.so.10()(64bit) is needed by vsftpd-2.2.2-24.el6.x86_64
        该服务器上没有安装openssl,先安装openssl-1.0.1e-57.el6.x86_64.rpm,可以先执行步骤3.3安装依赖包
        
    2.2.关闭selinux,先临时关闭,再永久关闭
    
        临时关闭:
        setenforce 0
    
        永久关闭:
        vi /etc/sysconfig/selinux
        SELINUX=enforcing 改为 SELINUX=disabled
    
    2.3.先备份原有vsftpd.conf
        mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.old
        
        拷贝配置好的vsftpd.conf
        cp ~/package/vsftp/vsftpd.conf /etc/vsftpd/vsftpd.conf
        
    2.4.增加ftp账户
        这里设置的账户名为“cent”,密码为“cent”,密码需要输入两遍
        useradd cent -s /sbin/nologin
        passwd cent
        
    2.5.编辑user_list文件,允许cent用户访问FTP
        vi /etc/vsftpd/user_list
        最后一行添加一个用户cent
        
    2.6.建立根目录,并设置访问权限
        mkdir /var/public_root
        chown -R cent /var/public_root
        chmod -R 755 /var/public_root
    
    2.7.开启vsftpd服务并设置开机自启
        service vsftpd start
        chkconfig vsftpd on
    
    2.8测试是否能够上传文件
        测试工具有xftp,连接时选择ftp方式,端口号21,用户名和密码都是cent
        ftp工具filezilla
        必须要保证能够上传文件

3.升级openssh
        
    3.1断开当前连接的ssh窗口,使用telnet方式连接服务器,需要验证用户名和密码
        telnet ip
        
    3.2停止ssh服务,卸载当前openssh,一定要确保telnet和ftp两个服务跑起来并设置了开机自启以防止服务器突然关机导致连不上机器
        service sshd stop
        rpm -e --nodeps `rpm -qa|grep openssh` 
        
    3.3安装依赖包,进入文件夹~/package/openssh/dependencies2
        cd ~/package/openssh/dependencies2
        rpm -Uvh *.rpm --nodeps --force

        包含rpm包

        centos6.8离线升级openssh到7.9版本
        
    3.4解压
        进入文件夹
        cd ~/package/openssh
        tar -zxvf openssh-7.9p1.tar.gz
        
    3.5编译和安装
        进入解压的目录
        cd openssh-7.9p1
        ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-md5-passwords
        make && make install
        
    3.6复制pam文件,复制启动脚本,设置开机自启
        cp contrib/redhat/sshd.pam /etc/pam.d/sshd
        cp contrib/redhat/sshd.init /etc/init.d/sshd
        chkconfig sshd on
        
    3.7配置ssh_config
        vi /etc/ssh/sshd_config
        PermitRootLogin yes  #允许root用户通过ssh登陆
        PubkeyAuthentication yes #公钥授权
        PasswordAuthentication yes #密码授权
        
    3.8验证版本信息
        ssh -V
        
    3.9启动ssh服务
        service sshd start
        
    3.10测试ssh服务是否正常
        使用xshell尝试连接服务器
        再重启ssh服务
        service sshd restart
        
        断开连接再重新连接服务器
        
4.关闭telnet
    4.1关闭telnet,关闭开机自启
        service xinetd stop
        chkconfig xinetd off
    4.2删除用户组pts/0和pts/1
        vi /etc/securetty
        最后两个pts/0和pts/1删除
        
    4.3如果修改了/etc/pam.d/remote,别忘了改回去

5.关闭ftp并删除用户
    5.1打开selinux
        setenforce 1
        
        vi /etc/sysconfig/selinux
        SELINUX=disabled 改为 SELINUX=enforcing
        
    5.2关闭ftp服务,禁止开机自启
        service vsftpd stop
        chkconfig vsftpd off
        
    5.3删除用户cent和该用户家目录
        userdel -r cent