HCRM博客

如何在CentOS系统中配置SSH连接?

CentOS SSH连接:从基础操作到安全实践

对于需要远程管理CentOS服务器的用户来说,SSH(Secure Shell)是必不可少的工具,它通过加密通道实现安全的远程登录和文件传输,适用于服务器维护、代码部署等场景,以下内容将详细介绍SSH连接的核心操作、常见问题及安全实践,帮助用户高效掌握这一技能。

如何在CentOS系统中配置SSH连接?-图1

SSH的基本原理与核心功能

SSH协议通过非对称加密技术确保通信安全,默认使用22端口,其核心功能包括:

1、远程终端访问:通过命令行操作服务器;

2、文件传输:支持SCP或SFTP协议;

3、端口转发:实现本地与远程端口的映射。

若服务器未预装SSH服务,可通过以下命令安装:

如何在CentOS系统中配置SSH连接?-图2
  • sudo yum install openssh-server
  • sudo systemctl start sshd
  • sudo systemctl enable sshd

SSH连接的具体操作步骤

1. 通过密码登录

在本地终端输入命令:

  • ssh 用户名@服务器IP地址

系统会提示输入用户密码,首次连接时需确认服务器指纹信息,输入yes即可保存密钥。

2. 修改默认端口(可选)

为提升安全性,建议修改SSH默认端口,编辑配置文件:

  • sudo vi /etc/ssh/sshd_config

找到#Port 22,取消注释并修改端口号(例如Port 2222),保存后重启服务:

  • sudo systemctl restart sshd

此后连接需指定端口:

  • ssh -p 2222 用户名@服务器IP

3. 密钥认证替代密码登录

密钥认证比密码更安全,且免去重复输入的麻烦,操作流程如下:

生成密钥对(本地执行):

  • ssh-keygen -t rsa

按提示设置密钥存储路径及密码(可选)。

上传公钥到服务器

  • ssh-copy-id -i ~/.ssh/id_rsa.pub 用户名@服务器IP

或手动将公钥内容追加到服务器的~/.ssh/authorized_keys文件中。

禁用密码登录(可选):

sshd_config中设置PasswordAuthentication no,重启服务生效。

常见问题与解决方案

连接超时或拒绝

- 检查服务器防火墙是否放行SSH端口:

  • sudo firewall-cmd --list-ports
  • sudo firewall-cmd --add-port=22/tcp --permanent
  • sudo firewall-cmd --reload

- 确认SSH服务状态:

  • sudo systemctl status sshd

密钥认证失败

- 确保authorized_keys文件权限为600:

  • chmod 600 ~/.ssh/authorized_keys

- 检查服务端配置中PubkeyAuthentication是否为yes

提升SSH安全性的关键措施

1、限制登录用户:在sshd_config中设置AllowUsers 用户名,仅允许特定用户登录。

2、启用失败锁定:使用fail2ban工具监控登录尝试,自动屏蔽恶意IP。

3、定期更新软件:通过yum update openssh-server获取安全补丁。

4、禁用root登录:修改配置为PermitRootLogin no,避免高危账户暴露。

个人观点

SSH的便捷性使其成为服务器管理的首选工具,但安全性往往被忽视,建议管理员至少启用密钥认证并修改默认端口,同时结合防火墙规则与日志监控(如/var/log/secure),形成多层防护,对于高敏感环境,可进一步启用双因素认证(2FA),确保即使密钥泄露,账户仍受保护,技术细节的严谨性,直接决定了系统抵御风险的能力。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/32857.html

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
请登录后评论...
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~