5154

Good Luck To You!

CentOS7如何安装并启动SSH服务进行远程连接?

安装并启动 SSH 服务

CentOS 7默认通常已安装OpenSSH服务器,但检查其状态并确保其正常运行是首要步骤。

CentOS7如何安装并启动SSH服务进行远程连接?

可以通过以下命令检查是否已安装openssh-server软件包:

yum list installed | grep openssh-server

如果未安装,可以使用yum命令进行安装:

sudo yum install -y openssh-server

安装完成后,需要启动SSH服务并设置其为开机自启,以确保服务器重启后SSH服务依然可用:

sudo systemctl start sshd
sudo systemctl enable sshd

检查SSH服务的运行状态,确认其active (running)

sudo systemctl status sshd

SSH 配置文件详解

SSH服务的主要配置文件是/etc/ssh/sshd_config,通过修改此文件,可以极大地增强服务器的安全性,在进行任何修改后,都需要使用sudo systemctl restart sshd命令重启服务使配置生效。

以下是一些关键配置参数的说明和推荐设置:

配置参数 默认值 推荐设置 说明
Port 22 自定义端口(如2222) 更改默认端口可以有效规避自动化扫描攻击。
PermitRootLogin yes no 禁止root用户直接登录,是重要的安全措施。
PasswordAuthentication yes no 禁用密码认证,强制使用密钥对登录,安全性更高。
PubkeyAuthentication yes yes 启用公钥认证,这是使用密钥对登录的基础。
AllowUsers (无) 指定用户名 限制只有特定用户可以通过SSH登录,实现白名单控制。

修改端口时,还需同时更新防火墙规则,放行新的端口,将端口改为2222:

CentOS7如何安装并启动SSH服务进行远程连接?

sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --reload

使用 SSH 密钥对进行安全连接

相较于传统密码,SSH密钥对提供了更高的安全性和便利性,它由一个私钥和一个公钥组成,私钥保留在客户端,公钥则放置在服务器上。

  1. 在客户端生成密钥对: 在本地计算机上(可以是Linux、macOS或Windows with PowerShell OpenSSH)运行:

    ssh-keygen -t rsa -b 4096

    按提示操作,通常可以直接按回车使用默认路径和不设置密码,这会在~/.ssh/目录下生成id_rsa(私钥)和id_rsa.pub(公钥)两个文件。

  2. 将公钥复制到服务器: 使用ssh-copy-id命令可以安全地将公钥上传到CentOS 7服务器的指定用户下:

    ssh-copy-id username@server_ip_address

    此命令会自动将公钥内容追加到服务器上~/.ssh/authorized_keys文件中,并设置正确的文件权限。

完成以上步骤后,就可以在客户端使用私钥无密码登录服务器了。


常用 SSH 客户端命令

掌握一些常用的SSH命令能提升工作效率。

CentOS7如何安装并启动SSH服务进行远程连接?

  • 基本登录
    ssh username@server_ip_address
  • 指定端口登录
    ssh -p 2222 username@server_ip_address
  • 使用特定私钥文件登录
    ssh -i /path/to/your/private_key username@server_ip_address
  • 通过SSH执行远程命令(无需登录交互式Shell):
    ssh username@server_ip_address "ls -l /home"

相关问答 (FAQs)

Q1: 修改SSH默认端口后无法连接,怎么办? A: 这通常是由于防火墙没有放行新端口导致的,请确保在修改sshd_config文件并重启服务后,已经更新了防火墙规则,在CentOS 7中,使用firewall-cmd命令添加新端口,新端口为2222:

sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --reload

如果服务器前有云服务商的安全组(如阿里云、腾讯云),也需要在安全组规则中放行该新的TCP端口。

Q2: 配置了SSH密钥,但仍然提示输入密码,为什么? A: 这个问题通常与服务器端的文件或目录权限有关,SSH服务对权限要求非常严格,请登录服务器检查以下权限:

  1. 用户主目录权限应为755 (drwxr-xr-x)。
  2. ~/.ssh目录权限必须为700 (drwx------)。
  3. ~/.ssh/authorized_keys文件权限必须为600 (-rw-------)。

可以使用以下命令修复权限:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

如果权限设置正确但问题依旧,可以查看SSH服务的日志文件/var/log/secure,其中通常会包含认证失败的详细原因。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2025年11月    »
12
3456789
10111213141516
17181920212223
24252627282930
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
    网站收藏
    友情链接

    Powered By Z-BlogPHP 1.7.3

    Copyright Your WebSite.Some Rights Reserved.