SSH(Secure Shell)是一种加密的网络协议,用于在不安全的网络中安全地进行远程操作,以下是详细的SSH设置步骤:
安装SSH服务
1、安装OpenSSH服务器:

对于大多数Linux发行版,如Ubuntu和Debian,可以使用APT包管理器通过以下命令安装OpenSSH服务器:
```bash
sudo apt-get update
sudo apt-get install openssh-server
```
对于基于RPM的系统如CentOS或RHEL,使用YUM或DNF包管理器进行安装:
```bash
sudo yum install openssh-server

```
或者对于较新的RHEL/CentOS版本,使用DNF:
```bash
sudo dnf install openssh-server
```
配置SSH服务器
1、编辑配置文件:
SSH服务器的主配置文件是/etc/ssh/sshd_config
,可以使用文本编辑器(如nano或vi)进行修改:
```bash

sudo nano /etc/ssh/sshd_config
```
一些常见的配置选项包括:
监听端口:默认端口为22,可以通过更改Port 22
来修改。
禁止root登录:通过设置PermitRootLogin no
禁用root登录,提高安全性。
密钥认证:启用公钥认证并禁用密码认证,设置PubkeyAuthentication yes
和PasswordAuthentication no
。
监听地址:如果只想让SSH在特定的IP地址上监听,可以设置ListenAddress
。
登录告警信息:通过Banner
指令指定一个文件,当用户登录时显示该文件的内容,作为安全警告或法律声明。
2、管理SSH服务:
启动SSH服务:
```bash
sudo systemctl start sshd
```
设置SSH服务开机启动:
```bash
sudo systemctl enable sshd
```
检查SSH服务状态:
```bash
sudo systemctl status sshd
```
3、防火墙配置:
确保防火墙规则允许SSH服务的端口(默认是22):
```bash
sudo ufw allow 22/tcp
```
如果是使用特定端口,替换22为你的SSH端口。
生成和管理SSH密钥对
1、生成密钥对:
在客户端计算机上生成SSH密钥对,包括公钥和私钥:
```bash
ssh-keygen -t rsa
```
按照提示输入保存密钥的位置和文件名,私钥默认保存在~/.ssh/id_rsa
,公钥默认保存在~/.ssh/id_rsa.pub
。
2、将公钥复制到远程服务器:
将生成的公钥(id_rsa.pub)复制到远程服务器上:
```bash
ssh-copy-id -i ~/.ssh/id_rsa.pub username@remote_host
```
username
是远程服务器的用户名,remote_host
是远程服务器的IP地址或主机名。
3、验证密钥配置:
尝试无密码登录到远程服务器:
```bash
ssh username@remote_host
```
如果配置成功,将会直接登录到远程服务器,无需输入密码。
其他注意事项
1、安全加固:定期更新系统和OpenSSH软件包以获取安全补丁,考虑使用Fail2ban等工具防止暴力破解。
2、审计日志:定期审查/var/log/auth.log
(或相应系统的SSH日志)以监控登录尝试。
3、备份私钥:妥善保管私钥,防止泄露,私钥一旦丢失或泄露,将会失去无密码登录的能力,建议将私钥备份到安全的位置,并使用强密码保护私钥文件。
4、禁用SSH密钥认证:如果需要禁用SSH密钥认证,请编辑远程服务器的SSH配置文件(/etc/ssh/sshd_config),将“RSAAuthentication yes”改为“RSAAuthentication no”,然后重启SSH服务。
步骤可能因操作系统和具体环境的不同而有所差异,在进行任何配置更改之前,请确保已备份重要数据,并仔细阅读相关文档以避免不必要的风险。
评论列表 (0)