安装编译需要的环境
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