SSH(Secure Shell) 是一种加密的网络协议,用于在不安全的网络中安全地远程登录系统并执行命令。
特点包括:
-
安全加密传输
-
远程登录与远程命令执行
-
支持端口转发、文件传输(如
scp
、rsync
)
CentOS 系统安装和启动 SSH 服务
大多数 Linux 系统(CentOS7,CentOS8等)默认安装了 SSH 服务。
✅ 1. 安装 openssh-server
如果系统中还没有安装 SSH 服务器,可使用:
sudo yum install -y openssh-server
✅ 2. 启动并设置开机自启动:
sudo systemctl start sshd
sudo systemctl enable sshd
✅ 3. 检查 SSH 服务状态
sudo systemctl status sshd
SSH 服务端配置(默认端口、超时、限制等)
配置文件路径:
/etc/ssh/sshd_config
修改端口(可选)
如需修改监听端口:
Port 12345
然后重启服务:
sudo systemctl restart sshd
设置 SSH 自动退出超时时间(无操作自动断开)
你可以设置服务器端的 SSH 会话在一段时间无操作后自动断开,防止闲置连接。
方法一:修改 /etc/ssh/sshd_config
添加或修改以下两项:
ClientAliveInterval 600
ClientAliveCountMax 3
含义:
-
ClientAliveInterval 600
: 每 600 秒(10 分钟)服务器向客户端发送一个 "keep alive" 请求; -
ClientAliveCountMax 3
: 客户端3次也不回应就断开连接。
🚀 这样设置表示:
30分钟不活动的 SSH 连接将会自动断开。
然后重启 SSH 服务:
sudo systemctl restart sshd
SSH 客户端常用命令(登录/端口设置)
普通登录(默认22端口):
ssh user@host
自定义端口登录:
ssh -p 12345 user@host
注:有可能ssh监听端口使用默认值22,但服务器在内网,路由器上配置了端口转发,将公网的 12345
映射到内网机器的 22
端口。这是用公网的端口号登录。
使用密钥登录(免密码):
ssh -i ~/.ssh/id_rsa user@host
防火墙放行 SSH 端口
如果你修改了端口为 12345,需要放行:
sudo firewall-cmd --permanent --add-port=12345/tcp
sudo firewall-cmd --reload