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包
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