温馨提示×

centos安装openssh为何报错

小樊
81
2025-01-02 13:35:25
栏目: 智能运维

在CentOS上安装OpenSSH时可能会遇到各种错误

  1. 确保已启用EPEL(Extra Packages for Enterprise Linux)仓库。EPEL仓库为CentOS提供了许多额外的软件包,包括OpenSSH。要启用EPEL仓库,请运行以下命令:
sudo yum install epel-release
  1. 确保已安装编译OpenSSH所需的依赖项。运行以下命令以安装这些依赖项:
sudo yum groupinstall "Development Tools"
sudo yum install openssl-devel zlib-devel
  1. 从源代码编译和安装OpenSSH。首先,从OpenSSH官方网站下载最新版本的源代码:
wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.4p1.tar.gz

请注意,上述链接中的版本号可能已过时。请访问OpenSSH官方网站以获取最新版本。

  1. 解压源代码并进入解压后的目录:
tar xvf openssh-8.4p1.tar.gz
cd openssh-8.4p1
  1. 配置编译选项:
./configure --prefix=/usr/local/ssh --with-openssh-sftp-server --with-pam --with-libssl-prefix=/usr/local/ssl
  1. 编译并安装OpenSSH:
make
sudo make install
  1. 创建并配置SSH服务文件。首先,创建一个名为/usr/local/ssh/sshd_config的文件,并使用以下内容填充它:
# System specific configuration file for OpenSSH server.
# See sshd_config(5) for details.

# The following values are recommended for security:
# Use Kerberos authentication.
# KRB5CCNAME=/tmp/krb5cc_uid
# Use hostkey authentication.
# HostkeyAlgorithms +ssh-rsa +ssh-dss +ssh-ed25519
# PermitRootLogin prohibit-password
# PasswordAuthentication yes
# PermitEmptyPasswords no
# RhostsRSAAuthentication no
# RSAAuthentication yes
# PubkeyAuthentication yes
# AuthorizedKeysFile .ssh/authorized_keys
# PasswordAuthentication yes
# ChallengeResponseAuthentication yes
# UsePAM yes

# Logging configuration
# LogFormat %h %l %u %t "%r" %s %b
#忍受日志文件的最大大小
# ClientAliveInterval 120
# ClientAliveCountMax 3
# UseDNS no
# DNSCacheTimeout 604800
# AddressFamily any
# ListenAddress 0.0.0.0
# ListenPort 22
# PermitTunnel no
# PermitOpen any
# RhostsNotAllowed no

接下来,创建一个名为/usr/local/ssh/ssh_service的文件,并使用以下内容填充它:

#!/bin/sh
# /usr/local/ssh/ssh_service

# Start the OpenSSH daemon.
/usr/local/ssl/sbin/sshd -f /usr/local/ssh/sshd_config

确保将/usr/local/ssl替换为实际的OpenSSL安装路径。

  1. 设置SSH服务文件的权限:
sudo chmod +x /usr/local/ssh/ssh_service
  1. 创建一个名为/etc/init.d/sshd的符号链接,指向刚刚创建的ssh_service文件:
sudo ln -s /usr/local/ssh/ssh_service /etc/init.d/sshd
  1. 启动SSH服务并设置为开机启动:
sudo service sshd start
sudo chkconfig sshd on

现在,您应该已经成功在CentOS上安装了OpenSSH。如果仍然遇到问题,请提供详细的错误信息,以便我们为您提供更具体的解决方案。

0