首页 > 系统相关 >Linux sshd升级

Linux sshd升级

时间:2024-11-01 15:19:32浏览次数:1  
标签:sshd openssh app 升级 ssh Linux copy id

1.ubuntu ssh升级到9.6

sshd_update_ubt

# 定义变量
dir="/etc/xinetd.d/"
sshd_pid=`ps -ef |grep sshd |awk '$3==1 {print $2}'`

# 结束sshd进程
stop_sshd(){
	[ -z "${sshd_pid}" ] || {
		kill ${sshd_pid}
	}
}

# 下载telnet
apt_telnet(){
  apt install -y openbsd-inetd telnetd
}

# 检查目录
check_dic(){
    [ ! -d $dir ] && {
	    mkdir -p $dir
	}
}

cfg_start_telnet(){

# telnet 配置文件
cat>/etc/xinetd.d/telnet<<'EOF'
service telnet  
{  
    disable         = no  
    flags           = REUSE  
    socket_type     = stream  
    wait            = no  
    user            = root  
    server          = /usr/sbin/in.telnetd  
    log_on_failure  += USERID  
}
EOF

# 启动telnet
systemctl enable  inetd
systemctl restart  inetd
# systemctl is-enabled  inetd

}

# 添加用户(telnet配置用户)
user_add(){
  useradd xk3
  echo "xk3:1" | chpasswd
  echo  'xk3 ALL=(ALL)  NOPASSWD: ALL '  >>/etc/sudoers
}
 

# 编译安装
make_install_new_sshd(){
  # 安装依赖 
  apt install -y gcc zlib1g zlib1g-dev   libssl-dev  make 

  # 下载解压sshd
  wget  https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/openssh-9.6p1.tar.gz
  tar xf openssh-9.6p1.tar.gz 
  cd openssh-9.6p1/
  ll

  # 编译安装
  ./configure  --prefix=/app/tools/openssh-9.6p1/ 
  nproc 
  make -j `nproc` 
  make install 

  # 创建软连接
  ln -s  /app/tools/openssh-9.6p1/  /app/tools/openssh

  # 结束sshd进程
  stop_sshd
}

#pkill sshd


#telnet 10.0.0.37 23 #10.0.0.5为服务器ip   
#输入xk3
#和输入密码 

cfg_start_new_sshd(){
  # 修改新ssh配置文件
  cp /app/tools/openssh/etc/sshd_config{,.bak}
cat >>/app/tools/openssh/etc/sshd_config <<EOF
Port 22
PermitRootLogin yes
PasswordAuthentication yes
#GSSAPIAuthentication no 这个不用配置,默认就关闭了.
UseDNS no
EOF

  # 启动服务测试 
  /app/tools/openssh/sbin/sshd

  # 关闭并删除openssh 8.2版本的服务端
  dpkg -l |grep openssh |awk '{print $2}' |xargs dpkg --purge

  # 配置PATH环境变量
  echo 'export PATH=/app/tools/openssh/bin/:/app/tools/openssh/sbin/:$PATH' >>/etc/profile 
  source  /etc/profile

  #2.检查命令位置
  which ssh ssh-keygen sshd


  # 将sshd添加到systemctl中
  useradd  -s /sbin/nologin -M  sshd 

cat>/usr/lib/systemd/system/sshd.service<<'EOF'
[Unit]
Description=OpenSSH 9.6 server daemon
Documentation=man:sshd(8) man:sshd_config(5)
After=network.target 

[Service]
Type=simple
ExecStart=/app/tools/openssh/sbin/sshd -D
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s

[Install]
WantedBy=multi-user.target
EOF

  # 结束sshd进程
  # pkill sshd 
  stop_sshd
  systemctl daemon-reload 
  systemctl enable  --now  sshd 

  # 关闭telnet仅使用sshd
  systemctl disable  --now  inetd
}
main(){
  apt_telnet
  check_dic
  make_install_new_sshd
  cfg_start_new_sshd
}

main

升级到openssh-9.x版本后ssh-copy-id.无法使用问题解决

ssh-copy-id.无法使用问题解决
 升级到openssh-9.x版本后ssh-copy-id.无法使用问题解决
#1. 复制源码包里的ssh-copy-id命令到bin目录下
cp openssh-9.9p1/contrib/ssh-copy-id     /app/tools/openssh/bin/

#2.给x权限 
 chmod  +x /app/tools/openssh/bin/ssh-copy-id
 
#3.检查PATH
echo $PATH是否有 上面的bin目录 

#4.测试ssh-copy-id是否可用 
 ssh-copy-id   web01
/app/tools/openssh/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
/app/tools/openssh/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/app/tools/openssh/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys

Authorized users only. All activities may be monitored and reported.
root@web01's password: 

Number of key(s) added: 1

Now try logging into the machine, with: "ssh 'web01'"
and check to make sure that only the key(s) you wanted were added.

#5.检查秘钥认证
ssh web01  hostname -I 

Authorized users only. All activities may be monitored and reported.
10.0.0.69 172.16.1.69 

 

标签:sshd,openssh,app,升级,ssh,Linux,copy,id
From: https://www.cnblogs.com/daofaziran/p/18452442

相关文章

  • ubuntu系统升级
    sudoaptupdatesudoaptupgrade-ysudoaptdist-upgrade-y安装更新管理器核心包sudoaptinstallupdate-manager-core-y编辑/etc/update-manager/release-upgrades文件,将Prompt设置为ltssudonano/etc/update-manager/release-upgrades找到以下行并修改:Pr......
  • 100 道 Linux 常见面试题,慢慢读~_linux基础面试题
    1Linux概述1.1什么是LinuxLinux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络......
  • 【Linux内核】Cgroup原理和使用
    1.Cgroup简介cgroups(ControlGroups)是Linux内核的一个特性,用于对进程组的物理资源(如CPU、内存、磁盘I/O等)进行细粒度的控制和监控。cgroups可以帮助你限制、记录和隔离资源使用,但它本身并不直接用来“拉高CPU负载”。相反,cgroups通常用于限制进程可以使用的资源量,以防止它们消耗......
  • Gemini API 和 Google AI Studio 升级,提升搜索准确性和响应能力
    从今天开始,使用Google的GeminiAPI和 GoogleAIStudio 构建AI服务和机器人开发者,将能够通过Google搜索的数据来增强其提示结果,这将使得基于更新数据的响应更加准确。开发者可以在AIStudio中免费尝试这一功能,AIStudio是Google为开发者提供的测试和优化提示......
  • 截图工具 for Linux --- 你用过吗?
    截图工具forLinuxLinux系统在桌面、嵌入式、服务器等多领域的广泛应用,催生了各种需求的截图工具。从简单的命令行工具到复杂的图形化应用,Linux的截图工具逐渐发展并适应了不同的图形后端架构,如X11和Wayland。本篇将从这两大后端的视角出发,介绍Linux截图工具的种类、功能......
  • 0-petalinux 问题记录-VFS: Cannot open root device fs or unknown-block(0,0): erro
    0-petalinux问题记录-VFS:Cannotopenrootdevicefsorunknown-block(0,0):error-6这个问题是对SD卡分区之后,ext4分区写入一个文件系统之后的现象,不能正常启动,通过log可以看出来是能找到sd卡的分区,提示需要增加引导,可是在镜像构建的时候UBoot那里面已经设置过了,参数没......
  • 0-petalinux 问题记录-VFS: Cannot open root device fs or unknown-block(0,0): erro
    0-petalinux问题记录-VFS:Cannotopenrootdevicefsorunknown-block(0,0):error-6这个问题是对SD卡分区之后,ext4分区写入一个文件系统之后的现象,不能正常启动,通过log可以看出来是能找到sd卡的分区,提示需要增加引导,可是在镜像构建的时候UBoot那里面已经设置过了,参数没......
  • 性能测试|linux服务器搭建JMeter+Grafana+Influxdb监控可视化平台
    前言在当前激烈的市场竞争中,创新和效率成为企业发展的核心要素之一。在这种背景下,如何保证产品和服务的稳定性、可靠性以及高效性就显得尤为重要。而在软件开发过程中,性能测试是一项不可或缺的环节,它可以有效的评估一个系统、应用或者软件的性能指标。然而,如何提升性能测试效......
  • linux特殊符号
    1.特殊符号***********************************#**********************************#:注释、备注、批注,系统自动忽略,不执行。#系统不执行被#号注释的内容[root@localhosthtml]##[root@localhosthtml]#***********************************;*******************......
  • linux 哪些字符需要转义
    linux字符需要转义的有:1、空格;2、反斜杠(\);3、引号;4、美元符号($);5、感叹号(!);6、斜杠(/);7、竖线(|);8、等号(=)。空格是一个特殊字符,通常用于分隔命令参数或文件名。如果文件名或路径中包含空格,需要使用反斜杠(\)进行转义。例如,如果文件名是“myfile.txt”,则需要写成“my\file.txt”。......