centOS 6.5升级Openssh过程整合

一、开启telnet

如何启动linux的telnet服务


步骤如下:


1。如果安装了telnet、telnet-server的rpm包,就跳到2。,否则安装这个包。


2。修改telnet服务配置文件


vi /etc/xinetd.d/telnet


service telnet


{


disable = yes


flags = REUSE


socket_type = stream


wait = no


user = root


server = /usr/sbin/in.telnetd


log_on_failure += USERID


}


将disable=yes行前加#,或者改为disable=no


3。重新启动xinetd守护进程


由于telnet服务也是由xinetd守护的,所以安装完telnet-server,要启动telnet服务就必须重新启动xinetd


[root@localhost root]#service xinetd restart


4。关闭系统的防火墙


linux系统默认的防火墙是“high”。


(方法:[root@localhost root]# setup


选择:“firewall configuration”


选择:security level――“no firewall”)


5。如果想允许root以telnet登入linux主机?因为 telnet 不是很安全,自然预设的情�r之下就是无法允许 root 以 telnet 登入 Linux 主机!想要开放 root 以 telnet 登入 Linux 主机的话,可以这样做:


vi /etc/pam.d/login


在 auth required /lib/security/pam_securetty.so 这行前加 # ,即把这行注释掉就行


###设置root用户远程登录telnet服务。

默认情况下,系统是不允许root用户telnet远程登录的。如果要使用root用户直接登录,需设置如下内容。

# echo 'pts/0' >>/etc/securetty

# echo 'pts/1' >>/etc/securetty

完成后重启telnet服务

# service xinetd restart


二安装Openssh

最近有空复习了一下Linux,在虚拟机上安装了个CentOS6.5,顺便升级一下系统自带的openssh,任何系统操作都有风险,正式环境请做好备份工作。废话少说,直接贴代码。


1、准备工作,相应的包自己到官方下载,另外需要下载依赖包openssl以及zlib包。


openssh下载地址:http://www.openssh.com/portable.html


openssl下载地址:http://www.openssl.org/source/


zlib下载地址:http://zlib.net/zlib-1.2.8.tar.gz


2、卸载系统自带的openssh,卸载之前先停止sshd服务,再用rpm删除,同时清除系统/etc/ssh目录

[root@CentOS tmp]# service sshd stop

Stopping sshd: [ OK ]

[root@CentOS tmp]# rpm -qa openssh

openssh-5.3p1-94.el6.x86_64

[root@CentOS tmp]# rpm -e openssh-server

[root@CentOS tmp]# rpm -e openssh-clients

[root@CentOS tmp]# rpm -e openssh-askpass

[root@CentOS tmp]# rpm -e openssh

[root@CentOS tmp]# rm -rf /etc/ssh(-e 后面都添加--nodeps 注意是两个“-”号)


3、安装zlib

[root@CentOS tmp]# tar -xvf zlib-1.2.8.tar.gz

[root@CentOS tmp]# cd zlib-1.2.8

[root@CentOS zlib-1.2.8]# ./configure --prefix=/usr/local/zlib && make && make install


4、安装openssl

[root@CentOS tmp]# tar -xvf openssl-1.0.1i.tar.gz

[root@CentOS tmp]# cd openssl-1.0.1i

[root@CentOS openssl-1.0.1i]# ./config --prefix=/usr/local/openssl && make && make install


5、安装openssh

[root@CentOS tmp]# tar -xvf openssh-6.6p1.tar.gz

[root@CentOS tmp]# cd openssh-6.6p1

[root@CentOS openssh-6.6p1]# ./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/openssl --with-zlib=/usr/local/zlib --with-md5-passwords --without-hardening && make && make install


6、修改配置文件

[root@CentOS openssh-6.6p1]# cp contrib/redhat/sshd.init /etc/init.d/sshd

[root@CentOS openssh-6.6p1]# chmod +x /etc/init.d/sshd

[root@CentOS openssh-6.6p1]# vi /etc/init.d/sshd


修改对应指令的安装目录

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

25行 SSHD=/usr/sbin/sshd 为 SSHD=/usr/local/openssh/sbin/sshd

41行 /usr/bin/ssh-keygen -A 为 /usr/local/openssh/bin/ssh-keygen -A

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

保存退出


7、加入到系统服务

[root@CentOS openssh-6.6p1]# chkconfig --add sshd

[root@CentOS openssh-6.6p1]# service sshd start


8.ssh -V 查看是否成功更新版本,如不成功,需要reboot(一般不需要重启)


9.openssh安装成功后,关闭telnet。




###出现root不能登录。

解决方法:


1) 以root身份,chmod +w /etc/ssh/sshd_config


2) vi /etc/ssh/sshd_config


3) 将PermitRootLogin no(有时候是PermitRootLogin prohibit-password)改成PermitRootLogin yes


4) service sshd restart


###出现openssh7.1重启/sbin/restorecon:lstat(/etc/ssh/ssh_host_key.pub) failed报错


原因:查看了openssh官方通告(http://www.openssh.com/txt/release-6.9)如下发现,原来openssh 从 7.0 后开始对于version 1.x 就不支持了,相应的RSA1算法也不再支持了,编译openssh源码的时候也不会在/etc/ssh目录下面生成ssh_host_key/ssh_host_key.pub了。


解决方法:只要touch该文件即可规避


[root@NHL ~]# touch /etc/ssh/ssh_host_ecdsa_key.pub

再重启一下ssh服务,就没有那个报错了






###

编译中遇到的错误,参考博文http://zjwsk.blog.163.com/blog/static/598306132014313112351/,感谢博主的分享


?

1

configure: error: *** Can't find recent OpenSSL libcrypto (see config.log for details) ***



***本机出现密钥连接问题时

1.进入/root/.ssh/,删除known_hosts里面的对应的IP连接信息就可以了。

删除 known_hosts里面关于192.168.21.65服务器的信息,保存退出即可。

192.168.21.65 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA67AsGXjWnZfduJicbyJQPqTCUGSF+SSj79N/vaqgR5PwEoOExixoOOiBk/eUw8Ok+/xa5s09F9UCJ9bmwNJwrUl2

相关文章

linux下开机自启: 在/etc/init.d目录下新建文件elasticsear...
1、因为在centos7中/etc/rc.d/rc.local的权限被降低了,所以...
最简单的查看方法可以使用ls -ll、ls-lh命令进行查看,当使用...
ASP.NET Core应用程序发布linux在shell中运行是正常的。可一...
设置时区(CentOS 7) 先执行命令timedatectl status|grep &...
vim /etc/sysconfig/network-scripts/ifcfg-eth0 B...