升级SSH版本

来源:互联网 发布:苹果x卖得怎么样知乎 编辑:程序博客网 时间:2024/06/15 03:15

  • 查看版本
    • 查看ssh版本
    • 查看系统版本
  • 安装telnet
    • 安装相关工具
    • 添加telnet配置
    • 新建连接用户推荐
    • 允许root登录不推荐
      • 增加虚拟控制台
      • 允许root登录
    • 启动服务
    • 开放23端口
      • 显示现有规则表
      • 添加23端口
      • 重启
    • 测试
    • 软件说明
      • telnet-server telnet
      • xinetd
  • 升级openssh
    • 安装必要的软件
      • zlib
      • pam
    • 安装openssh
      • 备份etcssh必须删除原有配置否在在make install时不能覆盖配置
      • 卸载旧版本
      • 下载解压
      • 安装
    • 服务配置
      • 系统服务
      • pam配置
      • 开机自启
    • 修改配置
      • sshd_config
      • 测试命令
      • 重启服务
    • 测试
  • 删除telnet相关软件

查看版本

查看ssh版本

ssh -V

查看系统版本

lsb_release -a

安装telnet

注:另一个远程登录工具,ssh升级失败仍能登录服务器

安装相关工具

yum install telnet telnet-server xinetd -y

添加telnet配置

vi /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         = yes}# socket_type : stream->tcp,datagrum=>udp# wait : no 同时允许两个人登录,yes为只同时允许一个人,要等待# disable : 不允许root登录

新建连接用户(推荐)

useradd teluserpasswd teluser

允许root登录(不推荐)

增加虚拟控制台

vi /etc/securetty
#增加pts/0pts/1pts/2

允许root登录

Edit /etc/pam.d/login and /etc/pam.d/remote

注释以下语句

auth required pam_securetty.so 

启动服务

# 启动telnetsystemctl start telnet.socket# 自启telnetsystemctl enable telnet.socket# 启动xinetdservice xinetd start# 自启xinetdsystemctl enable xinetd.service# 其他相关# 查看列表systemctl list-unit-files

开放23端口

注: 如果未安装iptables则跳过

显示现有规则表

iptables -L -n --line-numbers

添加23端口

vi /etc/sysconfig/iptables  

添加下述规则

-A INPUT -p tcp -m state --state NEW --dport 23 -j ACCEPT

重启

service iptables restart

测试

  • 测试是否连接成功
  • 重启电脑查看是否连接成功

软件说明

telnet-server telnet

非独立守护进程,绑定在xinetd守护服务程序,默认明文传输

xinetd

超级守护进程,可以代理那些不常用的非独立守护进程监听在相应的端口

升级openssh

安装必要的软件

yum -y install gcc pam pam-devel zlib zlib-devel

zlib

zlib是提供数据压缩用的函式库

pam

PAM机制是一个非常成熟的安全认证机制,可以为Linux多种应用提供安全,可靠的认证服务

安装openssh

备份,/etc/ssh必须删除原有配置,否在在make install时不能覆盖配置

mv /etc/ssh /etc/ssh_bakmv /etc/pam.d/sshd /etc/pam.d/sshd_bakmv /usr/lib/systemd/system/sshd.service /usr/lib/systemd/system/sshd.service_bak

卸载旧版本

# -e 删除包# --nodeps 不删除依赖# -qa 查询所有安装的包rpm -e --nodeps `rpm -qa | grep openssh`

下载解压

# 下载源码wget https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/openssh-7.5p1.tar.gz # 解压tar xzf openssh-7.5p1.tar.gz

安装

./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-md5-passwordsmakemake install

服务配置

系统服务

cp contrib/redhat/sshd.init /etc/init.d/sshd

pam配置

mv /etc/pam.d/sshd_bak /etc/pam.d/sshd

如果未备份则新建文件

vi /etc/pam.d/sshd
#%PAM-1.0auth       required pam_sepermit.soauth       substack     password-authauth       include      postlogin# Used with polkit to reauthorize users in remote sessions-auth      optional     pam_reauthorize.so prepareaccount    required     pam_nologin.soaccount    include      password-authpassword   include      password-auth# pam_selinux.so close should be the first session rulesession    required     pam_selinux.so closesession    required     pam_loginuid.so# pam_selinux.so open should only be followed by sessions to be executed in the user contextsession    required     pam_selinux.so open env_paramssession    required     pam_namespace.sosession    optional     pam_keyinit.so force revokesession    include      password-authsession    include      postlogin# Used with polkit to reauthorize users in remote sessions-session   optional     pam_reauthorize.so prepare

开机自启

chkconfig --add sshd

修改配置

sshd_config

vi /etc/ssh/sshd_config# 允许root登录PermitRootLogin yes# 使用pamUsePAM yes

测试命令

/usr/sbin/sshd -t -f /etc/ssh/sshd_config

重启服务

service sshd restart

测试

  • 重启服务器测试ssh是否成功

删除telnet相关软件

yum remove telnet telnet-server xinetd -y
原创粉丝点击