SSH服务

SSH 服务安装与配置

安装 SSH 服务
  • 在 CentOS 系统上,SSH 服务通常通过 OpenSSH 包提供。
  • 使用 yum 安装 OpenSSH:
  •  启动 SSH 服务并设置开机自启:
yum install openssh-server openssh-clients -y
systemctl start sshd  
systemctl enable sshd
配置 SSH 服务
  • SSH 服务器的配置文件是 /etc/ssh/sshd_config
  • 使用 vim 或其他文本编辑器编辑此文件以更改配置。
  • 常用配置选项包括:
    • Port 2255:更改 SSH 服务监听的端口号,提高安全性。
    • PermitRootLogin no:禁止 root 用户直接通过 SSH 登录。
    • PasswordAuthentication no:禁用密码认证,仅使用密钥认证。
  • 修改配置后,重启 SSH 服务使更改生效:
systemctl restart sshd

安全性提升

修改默认端口
  • 修改 /etc/ssh/sshd_config 文件中的 Port 指令,将默认的 22 端口更改为其他端口(如 2255)。
  • 重启 SSH 服务。
禁用 root 用户登录
  • 将 /etc/ssh/sshd_config 文件中的 PermitRootLogin 设置为 no
  • 重启 SSH 服务。
使用密钥认证而非密码认证
  • 在客户端生成密钥对(公钥和私钥):
ssh-keygen
  • 将公钥添加到服务器上的 ~/.ssh/authorized_keys 文件中。
  • 修改 /etc/ssh/sshd_config,将 PasswordAuthentication 设置为 no(可选,取决于是否完全依赖密钥认证)。
  • 重启 SSH 服务。

免密登录

创建密钥对
  • 在客户端机器上执行 ssh-keygen 生成密钥对。
上传公钥到服务器
  • 使用 ssh-copy-id 命令上传公钥到服务器,无需手动编辑 authorized_keys 文件:
ssh-copy-id -i /path/to/public_key user@server_ip
  • 如果服务器 SSH 端口不是默认的 22,需要指定端口:
ssh-copy-id -i /path/to/public_key -p 端口号 user@server_ip
测试免密登录
  • 使用 ssh 命令尝试登录服务器,不应再要求输入密码:
ssh user@server_ip

其他常用命令

查看 SSH 服务状态
  • 查看 SSH 服务状态:
systemctl status sshd
查看开放的 SSH 端口
  • 使用 netstat(需安装 net-tools)或 ss 命令查看:
netstat -anplut | grep ssh  
# 或  
ss -anlutp | grep ssh
使用 nc 测试端口开放状态
  • 使用 nc(Netcat)工具测试特定端口是否开放:
nc -z -w 1 服务器IP 端口号  
echo $?  # 返回 0 表示端口开放,非 0 表示端口未开放

总结

  • SSH 服务提供了安全的远程登录和管理功能。
  • 通过修改默认端口、禁用 root 登录、使用密钥认证等方式可以显著提高 SSH 服务的安全性。
  • 免密登录通过密钥对认证简化了登录过程,提高了效率。
  • 定期检查 SSH 服务的配置和状态是维护系统安全的重要步骤。
  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值