第一步,安装telnet服务
扩展:telnet服务借助于xinetd服务进行方便的开启和关闭,
xinetd 被称为网络管理超级服务器,能进行访问控制和日志记录,节省系统资源。
yum install telnet telnet-server xinetd -y #yum安装3个包
装完依赖包之后,用rpm -qa 检查
rpm -qa telnet xinetd
在/etc/目录下放入一个(如果有就修改内容) 名为telnet 的配置文件,这样方便开启和关闭telnet服务;
然后在/etc/xinetd.d/目录下,创建命名为telnet的配置文件
vi /etc/xinetd.d/telnet
这里disable = no 就是开启
脚本内容如下:
########################################
# default: on
# description: The telnet server serves telnet sessions; it uses \
# unencrypted username/password pairs for authentication.
service telnet
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
}
#########################################
因为服务是root启的,所以文件权限可以不修改。
systemctl start xinetd
systemctl status xinetd 查看状态
启动xinetd服务,查看23端口是否是xinetd使用
lsof -i :23
起个telnet的终端
接下来的操作,可以直接在telnet的窗口中进行(当然原来的ssh也是可以的,只有当升级出现意外,ssh才会断开):
先从openBSD获取源码安装包(或者从其他渠道):
#一般可以在/opt目录下进行
(一)安装依赖包
yum install zlib-devel openssl-devel pam-devel -y
(二)解压源码安装包,使用原配置文件数据(在/etc/ssh目录),进行编译
tar -zxvf /opt/openssh-8.1p1.tar.gz -C /opt/
cd /opt/openssh-8.1p1
./configure --prefix=/usr/ --with-md5-passwords --with-pam --with-zlib --sysconfdir=/etc/ssh
#结束可以echo $? 没问题显示0
(三)原配置数据备份:
mkdir /tmp/backup
mv /etc/ssh/* /tmp/backup
(四)安装
make && make install
安装完成后,删除 /etc/ssh/*
将原来的 备份数据 拷贝进来,并修改目录及子目录文件权限 600
rm -f /etc/ssh/*
cp -r /tmp/backup/* /etc/ssh/
chmod -R 600 /etc/ssh/*
将新的程序目录下 contrib/redhat/sshd.init 放入启动服务目录并改名为sshd, /etc/init.d/sshd 并给予执行权限
将新的程序目录下 contrib/redhat/sshd.pam 放入pam.d服务目录,名称不变, /etc/pam.d/sshd.pam
移走/usr/lib/systemd/system/sshd.service 到/tmp 目录
扩展:(centos7对于启动服务方面的优化和centos6有了极大的改变,使用了systemd 代替init.d,由于sshd服务默认情况依然还是启动的service,不是socket,因此,改为centos6 init.d的启动方式,C7依然兼容C6的init.d的启动方式。)
cd /opt/openssh-8.1p1/contrib/redhat/
cp sshd.init /etc/init.d/sshd
chmod +x /etc/init.d/sshd
cp sshd.pam /etc/pam.d/sshd.pam
cd /usr/lib/systemd/system/
mv sshd.service /tmp/backup/
vi /etc/ssh/sshd_config
修改PermitRootLogin yes ###允许root用户账号登录shell
加入开机服务自启动
(1) /sbin/chkconfig sshd on
(2) systemctl enable sshd.socket (加入这个是因为上一条命令,提示要求增加)
最后,启动sshd服务 systemctl start sshd
新开ssh窗口登录系统查看版本:
ssh -V
安装完成,关闭telnet服务
vi /etc/xinetd.d/telnet #将no 改为yes
restart xinetd服务可以验证telnet不能登录系统;
最后,停用xinetd 服务。