CentOS 升级OpenSSH
  QUcWPSUhNcnS 2023年11月02日 43 0

安装编译需要的环境

yum -y install gcc gcc-c++ glibc make zlib zlib-devel pam-devel openssl-devel rpm-build


1. 备份配置文件

cp -rpf /etc/ssh /etc/ssh.bak

2. 安装telnet,记得提前部署telnet远程登录环境(root用户登录),避免ssh升级出现问题,导致无法远程管理!

[root@Centos6 ~]# yum install telnet-server

[root@Centos6 ~]# vim /etc/xinetd.d/telnet       

# default: on

# description: The telnet server serves telnet sessions; it uses

#       unencrypted username/password pairs for authentication.

service telnet

{

        flags           = REUSE

        socket_type     = stream      

        wait            = no

        user            = root

        server          = /usr/sbin/in.telnetd

        log_on_failure  += USERID

        disable         = no                     #将默认的yes修改为no。开启telnet服务功能,否则telnet启动后,23端口就会起不来!

}

 

重启telnet服务

[root@Centos6 ~]# /etc/init.d/xinetd start

Starting xinetd:                                           [  OK  ]

[root@Centos6 ~]# /etc/init.d/xinetd restart

Stopping xinetd:                                           [  OK  ]

Starting xinetd:                                           [  OK  ]

 

telnet默认用于远程登录的端口是23(21是默认的ftp端口、22是默认的ssh端口、23是默认的telnet端口)

[root@Centos6 ~]# lsof -i:23

COMMAND    PID USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME

xinetd    2489 root    5u  IPv6 22131982      0t0  TCP *:telnet (LISTEN)

 

关闭iptables防火墙和selinux。如果开启了iptables防火墙,则需要开启23端口(即"iptables -I INPUT -p tcp --dport 23 -j ACCEPT" 和"iptables -I INPUT -p udp --dport 23 -j ACCEPT" )。

[root@Centos6 ~]# /etc/init.d/iptables stop

[root@Centos6 ~]# vim /etc/sysconfig/selinux

.......

SELINUX=disabled

 

[root@Centos6 ~]# setenforce 0

setenforce: SELinux is disabled

 

=====================================================================================================================

默认情况下,linux不允许root用户以telnet方式登录linux主机,若要允许root用户登录,可采取以下两种方法中的任何一种方法:

 

1)第一种方法:修改securetty文件

增加pts配置。如果登录用户较多,需要更多的pts/*。

[root@Centos6 ~]# vim /etc/securetty

......

pts/0

pts/1

pts/2

 

2)第二种方法:移除securetty文件

验证规则设置在/etc/security文件中,该文件定义root用户只能在tty1-tty6的终端上记录,删除该文件或者将其改名即可避开验证规则实现root用户远程登录。

[root@Centos6 ~]# rm -rf /etc/securetty

 

以上两种方法中的任意一种设置后,在客户端使用telnet远程登录目标服务器(使用root用户)都是可以的!

192.168.10.206是目标服务器,192.168.10.202是客户端机器。

[root@client ~]# telnet 192.168.10.206 23             

Trying 192.168.10.206...

Connected to 192.168.10.206.

Escape character is '^]'.

CentOS release 6.9 (Final)

Kernel 2.6.32-696.el6.x86_64 on an x86_64

Centos6.9-OS login: root

Password:

Last login: Tue Aug 14 14:28:02 from 192.168.10.202      

 

------------------------温馨提示-------------------------

一般不建议直接用root用户远程通过telnet登陆系统,因为telnet在数据传输过程采用明文方式,如果,数据包被人截获,将会很容易获取root用户的登陆口令;

还是建议以普通用户通过telnet远程登陆,然后su到root,这样相对比较安全。如果非要用root用户远程连接,建议采用SSH.

如上操作后,就可以使用root账号进行telnet登录服务器了!OpenSSH升级后建议再修改回还原设置(即禁止root用户进行telnet登录)。

 

3. 尝试安装OpenSSH

1.   下载安装包

wget http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.0p1.tar.gz

2.   解压文件

tar -zxf openssh-9.0p1.tar.gz

3.   编译

cd openssh-9.0p1.tar.gz

./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-md5-passwords --with-tcp-wrappers

4.   检查结果

echo $? #返回结果为0说明编译成功了。

5.   编译安装

make && make install

6.   验证安装是否成功

ssh -V

7.   添加允许Root登陆

echo “PermitRootLogin yes”>>/etc/ssh/sshd_config

8.   重启sshd服务

service sshd restart

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  9E2BTpjt8nym   2023年12月06日   35   0   0 WindowsgitCentOS
QUcWPSUhNcnS
作者其他文章 更多