CentOS 6.6升级OpenSSH到最新版本7.5.p1

本文主要简单记录CentOS 6.6下OpenSSH升级步骤,及一键升级脚本。安装编译所需工具包
yum install gcc pam-devel zlib-devel

openssh7.5p1:https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/openssh-7.5p1.tar.gz

一、升级原因
7.4以下openssh版本存在严重漏洞:
1.OpenSSH 远程权限提升漏洞(CVE-2016-10010)
2.OpenSSH J-PAKE授权问题漏洞(CVE-2010-4478)
3.Openssh MaxAuthTries限制绕过漏洞(CVE-2015-5600)
OpenSSL>=1.0.1可以不用升级OpenSSL

二、安装telnet服务
1.安装软件
1 # yum -y install telnet-server* telnet

2.启用telnet服务
# vi /etc/xinetd.d/telnet
将其中disable字段的yes改为no以启用telnet服务
# mv /etc/securetty /etc/securetty.old    #允许root用户通过telnet登录
# service xinetd start                    #启动telnet服务
# chkconfig xinetd on                    #使telnet服务开机启动,避免升级过程中服务器意外重启后无法远程登录系统

3.测试telnet能否正常登入系统
三、升级OpenSSH
1.备份当前openssh
mv /etc/ssh /etc/ssh.old
mv /etc/init.d/sshd /etc/init.d/sshd.old

2.卸载当前openssh
# rpm -qa | grep openssh
openssh-clients-5.3p1-104.el6.x86_64
openssh-server-5.3p1-104.el6.x86_64
openssh-5.3p1-104.el6.x86_64
openssh-askpass-5.3p1-104.el6.x86_64
# rpm -e –nodeps openssh-5.3p1-104.el6.x86_64
# rpm -e –nodeps openssh-server-5.3p1-104.el6.x86_64
# rpm -e –nodeps openssh-clients-5.3p1-104.el6.x86_64
# rpm -e –nodeps openssh-askpass-5.3p1-104.el6.x86_64
# rpm -qa | grep openssh
注意:卸载过程中如果出现以下错误
[root@node1 openssh-7.5p1]# rpm -e –nodeps openssh-server-5.3p1-104.el6.x86_64
error reading information on service sshd: No such file or directory
error: %preun(openssh-server-5.3p1-104.el6.x86_64) scriptlet failed, exit status 1
解决方法:
# rpm -e –noscripts openssh-server-5.3p1-104.el6.x86_64

3.openssh安装前环境配置
# install -v -m700 -d /var/lib/sshd
# chown -v root:sys /var/lib/sshd
当前系统sshd用户已经存在的话以下不用操作
# groupadd -g 50 sshd
# useradd -c ‘sshd PrivSep’ -d /var/lib/sshd -g sshd -s /bin/false -u 50 sshd

4.解压openssh_7.5p1源码并编译安装
# tar -zxvf openssh-7.5p1.tar.gz
# cd openssh-7.5p1
# ./configure –prefix=/usr –sysconfdir=/etc/ssh –with-md5-passwords –with-pam –with-zlib –with-openssl-includes=/usr –with-privsep-path=/var/lib/sshd
# make
# make install

5.openssh安装后环境配置
# 在openssh编译目录执行如下命令
# install -v -m755    contrib/ssh-copy-id /usr/bin
# install -v -m644    contrib/ssh-copy-id.1 /usr/share/man/man1
# install -v -m755 -d /usr/share/doc/openssh-7.5p1
# install -v -m644    INSTALL LICENCE OVERVIEW README* /usr/share/doc/openssh-7.5p1
# ssh -V              #验证是否升级成功

6.启用OpenSSH服务
# 在openssh编译目录执行如下目录
# echo ‘X11Forwarding yes’ >> /etc/ssh/sshd_config
# echo “PermitRootLogin yes” >> /etc/ssh/sshd_config  #允许root用户通过ssh登录
# cp -p contrib/RedHat/sshd.init /etc/init.d/sshd
# chmod +x /etc/init.d/sshd
# chkconfig  –add  sshd
# chkconfig  sshd  on
# chkconfig  –list  sshd
# service sshd restart

注意:如果升级操作一直是在ssh远程会话中进行的,上述sshd服务重启命令可能导致会话断开并无法使用ssh再行登入(即ssh未能成功重启),此时需要通过telnet登入再执行sshd服务重启命令。

7.重启系统验证没问题后关闭telnet服务
# mv /etc/securetty.old /etc/securetty
# chkconfig  xinetd off
# service xinetd stop
如需还原之前的ssh配置信息,可直接删除升级后的配置信息,恢复备份。
# rm -rf /etc/ssh
# mv /etc/ssh.old /etc/ssh

相关文档可以到Linux公社资源站下载:

——————————————分割线——————————————

免费下载地址在 http://linux.linuxidc.com/

用户名与密码都是www.linuxidc.com

具体下载目录在 /2017年资料/5月/8日/CentOS 6.6升级OpenSSH到最新版本7.5.p1/

下载方法见 http://www.linuxidc.com/Linux/2013-07/87684.htm

——————————————分割线——————————————

OpenSSH 升级至目前最新7.5版本遇到的一些坑

openssh upgrade to latest version。

ssh 升级步骤

安装

cd /root/
mkdir ssh_upgrade && cd ssh_upgrade

上传openssh安装包

rz 安装包 

查看当前openssh版本

ssh -V     

卸载原有openssh

yum remove openssh -y    

安装 gcc、openssl和zlib

yum install gcc openssl-devel zlib-devel
tar zxvf openssh-7.5p1.tar.gz
cd openssh-7.5p1
./configure
make && make install

拷贝ssh服务文件

cp ./contrib/redhat/sshd.init /etc/init.d/sshd
chmod +x /etc/init.d/sshd

修改SSHD服务文件

vim /etc/init.d/sshd
修改以下内容
SSHD=/usr/sbin/sshd 为 SSHD=/usr/local/sbin/sshd
/usr/sbin/ssh-keygen -A 为 /usr/local/bin/ssh-keygen -A 
保存退出

加入系统服务

chkconfig --add sshd

查看系统启动服务是否增加改项

chkconfig --list |grep sshd

sshd               0:off    1:off    2:on    3:on    4:on    5:on    6:off 

允许root用户远程登录

cp sshd_config /etc/ssh/sshd_config
vim /etc/ssh/sshd_config 修改 PermitRootLogin yes,并去掉注释

配置允许root用户远程登录

这一操作很重要!很重要!很重要!重要的事情说三遍,因为openssh安装好默认是不执行sshd_config文件的,所以即使在sshd_config中配置允许root用户远程登录,但是不加上这句命令,还是不会生效!

vim /etc/init.d/sshd
在 ‘$SSHD $OPTIONS && success || failure’这一行上面加上一行 ‘OPTIONS="-f /etc/ssh/sshd_config"’
保存退出

重启

service sshd start  

nginx wss 配置。

nginx 配置 ,如果不想另开端口,可以加一个目录指向,比如wsapp,但是这个目录必须是存在的,

  1. map $http_upgrade $connection_upgrade {
  2.     default upgrade;
  3.      close;
  4. }
  5. upstream websocket {
  6.     server 192.168.100.10:8010;
  7. }
  8. server {
  9.     listen 80;
  10.     location /wsapp {
  11.         proxy_pass http://websocket;
  12.         proxy_http_version 1.1;
  13.         proxy_set_header Upgrade $http_upgrade;
  14.         proxy_set_header Connection “Upgrade”;
  15.     }
  16. }

centos6.5 安装 nodejs 6.10.1

安装这个很简单,

1.下载最新版nodejs
https://nodejs.org/en/download/
wget https://nodejs.org/dist/v6.10.1/node-v6.10.1-linux-x64.tar.xz
2. 解压 tar -xvf node-v6.10.1-linux-x64.tar.xz
3. 移动文件夹 mv node-v6.10.1-linux-x64 /usr/local/node-v6.10.1
4. 创建node\npm软链接,使得全局可以使用
ln -s /usr/local/node-v6.10.1/bin/node /usr/local/bin
ln -s /usr/local/node-v6.10.1/bin/npm /usr/local/bin

安装nodejs和npm完成

 

安装redis插件

切换到对应的目录,或者加上-gf全局安装

npm install redis

删除插件 npm uninstall redis

Linux的硬盘识别:

一般使用”fdisk -l”命令可以列出系统中当前连接的硬盘

设备和分区信息.新硬盘没有分区信息,则只显示硬盘大小信息.

1.关闭服务器加上新硬盘

2.启动服务器,以root用户登录

3.查看硬盘信息

#fdisk -l

  1. Disk /dev/sda: 42.9 GB, 42949672960 bytes  
  2. 255 heads, 63 sectors/track, 5221 cylinders  
  3. Units = cylinders of 16065 * 512 = 8225280 bytes  
  4. Sector size (logical/physical): 512 bytes / 512 bytes  
  5. I/O size (minimum/optimal): 512 bytes / 512 bytes  
  6. Disk identifier: 0x0004406e  
  7.    Device Boot      Start         End      Blocks   Id  System  
  8. /dev/sda1   *           1          39      307200   83  Linux  
  9. Partition 1 does not end on cylinder boundary.  
  10. /dev/sda2              39        2589    20480000   83  Linux  
  11. /dev/sda3            2589        2850     2097152   82  Linux swap / Solaris  
  12. /dev/sda4            2850        5222    19057664    5  Extended  
  13. /dev/sda5            2850        5222    19056640   83  Linux  
  14.    
  15. Disk /dev/sdb: 10.7 GB, 10737418240 bytes  
  16. 255 heads, 63 sectors/track, 1305 cylinders  
  17. Units = cylinders of 16065 * 512 = 8225280 bytes  
  18. Sector size (logical/physical): 512 bytes / 512 bytes  
  19. I/O size (minimum/optimal): 512 bytes / 512 bytes  
  20. Disk identifier: 0x14b52796  
  21.    Device Boot      Start         End      Blocks   Id  System  

 

4.创建新硬盘分区命令参数:

fdisk可以用m命令来看fdisk命令的内部命令;
a:命令指定启动分区;
d:命令删除一个存在的分区;
l:命令显示分区ID号的列表;
m:查看fdisk命令帮助;
n:命令创建一个新分区;
p:命令显示分区列表;
t:命令修改分区的类型ID号;
w:命令是将对分区表的修改存盘让它发生作用。

 

5.进入磁盘,对磁盘进行分区,注意红色部分。

#fdisk /dev/sdb

  1. Command (m for help):n  
  2. Command action  
  3.      e    extended                  //输入e为创建扩展分区  
  4.      p    primary partition (1-4)      //输入p为创建逻辑分区  
  5. p  
  6. Partion number(1-4):1      //在这里输入l,就进入划分逻辑分区阶段了;  
  7. First cylinder (51-125, default 51):   //注:这个就是分区的Start 值;这里最好直接按回车,如果您输入了一个非默认的数字,会造成空间浪费;  
  8. Using default value 51  
  9. Last cylinder or +size or +sizeM or +sizeK (51-125, default 125): +200M 注:这个是定义分区大小的,+200M 就是大小为200M ;当然您也可以根据p提示的单位cylinder的大小来算,然后来指定 End的数值。回头看看是怎么算的;还是用+200M这个办法来添加,这样能直观一点。如果您想添加一个10G左右大小的分区,请输入 +10000M ;  
  10.   
  11. Command (m for help): w                     //最后输入w回车保存。  

查看一下:

#fdisk -l

可以看到/dev/sdb1分区,我就省略截图咯。

 

6.格式化分区:

#mkfs.ext3 /dev/sdb1           //注:将/dev/sdb1格式化为ext3类型

  1. mke2fs 1.41.12 (17-May-2010)  
  2. 文件系统标签=  
  3. 操作系统:Linux  
  4. 块大小=4096 (log=2)  
  5. 分块大小=4096 (log=2)  
  6. Stride=0 blocks, Stripe width=0 blocks  
  7. 640848 inodes, 2562359 blocks  
  8. 128117 blocks (5.00%) reserved for the super user  
  9. 第一个数据块=0  
  10. Maximum filesystem blocks=2625634304  
  11. 79 block groups  
  12. 32768 blocks per group, 32768 fragments per group  
  13. 8112 inodes per group  
  14. Superblock backups stored on blocks:  
  15.         32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632  
  16.    
  17. 正在写入inode表: 完成  
  18. Creating journal (32768 blocks): 完成  
  19. Writing superblocks and filesystem accounting information: 完成  
  20.    
  21. This filesystem will be automatically checked every 35 mounts or  
  22. 180 days, whichever comes first.  Use tune2fs -c or -i to override.  

这样就格式化好了,我们就可以用mount 加载这个分区,然后使用这个文件系统;

7.创建/data1目录:

#mkdir /data1

8.开始挂载分区:

#mount /dev/sdb1 /data1

9.查看硬盘大小以及挂载分区:

#df -h

10.配置开机自动挂载

因为mount挂载在重启服务器后会失效,所以需要将分区信息写到/etc/fstab文件中让它永久挂载:

#vim /etc/fstab

加入:
/dev/sdb1(磁盘分区)  /data1(挂载目录) ext3(文件格式)defaults  0  0

11.重启系统

iscroll5 实例化后,在Chrome 55下面无法滚动问题。

前几天在做cordova 和 iscroll5 进行手机开发的时候,突然发现实例化过后,无法再滚动了,

经过chrome不同版本的排查,在chrome 44没有问题,在55版本中出现无法滚动,

最后发现是 加错了两个属性,下面注释掉的那两个。

var defaultObj = {
    preventDefault:false,
    click:false,
    //disablemouse: true,
    //disablePointer: true,
    probeType:3,
    scrollY:true
}

不管哪行哪业,同学都是兄弟

前几天心情郁闷,就找了个酒店点了一桌好酒菜,吃饱喝足,发现钱不够,于是打电话给同学求救,喊他送钱。
同学刚从部队转业到刑警,全副武装闯进包厢把我铐走了,还说跟踪我好久了,出门还给他头上套个黑袋子,那老板、服务员吓得蹲墙角啥都不敢说话。
上警车后,同学就把我放了,说他也没钱,只能这样帮你了。
我当时感动的热泪眼眶
同学同学亲如兄弟……
2014112535470661
没几天心情又郁闷了,又找了个酒店点了一桌好酒好菜,喝得晕晕乎乎,发现钱包又忘带了,于是打电话给附近的同学,他是在急救中心当医生的,让他帮忙带点钱来。
同学直接开个120来,进门就给我打个吊瓶,指挥人赶紧抬车上,饭菜打了两个包,说要取样化验,那老板、服务员吓得站边上直抖索。
上车后同学就把吊瓶拨了,说他也没钱,只能这样帮我了,打个包给值班医生们的宵夜。我当时又是感动的热泪眼眶,

qq%e6%88%aa%e5%9b%be20161219095501

不管哪行哪业,同学都是兄弟。

Scan the QR Code

一定要远离那么充满负能量的人,他们会不知不觉偷走你的梦想,使你渐渐颓废,变得像他们一样平庸。

一定要远离那么充满负能量的人,他们会不知不觉偷走你的梦想,使你渐渐颓废,变得像他们一样平庸。

03efacb5b766e60908230263

01.

负面的人害怕改变,

正面的人则欢迎新的机会到来。

02.

负面的人觉得没必要称赞他人所做的事,

正面的人却往往会看到并赞赏他人的好。

03.

负面的人说话总在讲着自己,

正面的人会想到去了解对方的心情。

04.

负面的人往往觉得世界应该围着他打转,

正面的人却会伸出手扶他人一把。

05.

负面的人总将错误怪到他人身上,

正面的人懂得为自己的失败负起责任。

06.

负面的人就算知错也不愿道歉,

正面的人会在任何造成他人不便的时候先说声抱歉。

07.

负面的人只会想着个人利益,

正面的人却会试着不去伤害到他人的感受。

08.

负面的人讨厌被批评,

正面的人则欢迎有建设性的讨论。

09.

负面的人想看到其他人失败,

正面的人则希望看到其他人成功。

10.

负面的人认为自己什么都懂,

正面的人却总想学习新事物。

11.

负面的人遇到任何事都先退缩,告诉自己不行;

正面的人却会想办法改变,让自己活得更好。

负面和正面的人之间的差别,

在“一念天堂,一念地狱”的抉择中。

审视一下自己,是否处于负面的状态。