ssh配置文件常用命令解释(初步、含欧拉默认配置)

1. SSH客户端配置文件 (~/.ssh/config)

# 保持连接心跳(防止超时断开)
Host *
    ServerAliveInterval 60

# 指定端口和用户连接特定主机
Host myserver
    HostName 172.31.12.36
    User root
    Port 22

# 禁用严格主机密钥检查(首次连接跳过验证)
StrictHostKeyChecking no

2. SSH服务端配置文件 (/etc/ssh/sshd_config)

# 允许密码认证
PasswordAuthentication yes

# 允许root用户登录
PermitRootLogin yes

# 修改SSH监听端口(默认22)
Port 2222

# 限制登录用户(多个用户用空格分隔)
AllowUsers user1 user2

3. 常用SSH命令

# 生成密钥对(默认RSA)
ssh-keygen -t rsa -C "your_email@example.com"

# 复制公钥到远程主机(实现免密登录)
ssh-copy-id -i \~/.ssh/id_rsa.pub user@host

# 端口转发(将本地2001映射到远程80端口)
ssh -N -L 2001:localhost:80 user@host

# 通过跳板机连接内网主机
ssh -J jump_user@jump_host internal_user@internal_host

# 文件传输(SCP命令)
scp -P 22 -r /local/folder user@host:/remote/folder

# 调试模式(显示详细连接日志)
ssh -v user@host

4. 密钥管理相关文件

# 客户端公钥存储路径(需上传到服务端)
~/.ssh/id_rsa.pub

# 服务端授权密钥文件(存放允许登录的公钥)
~/.ssh/authorized_keys

# 已知主机指纹记录(首次连接后自动生成)
~/.ssh/known_hosts
5. 高级功能
# SSH挂载远程目录(需安装sshfs)
sshfs user@host:/remote/path /local/mountpoint

# 比较本地与远程文件差异
ssh user@host cat /path/remote_file | diff local_file -

5. 欧拉Linux默认配置文件

# SSH 协议版本(默认已强制使用 Protocol 2,显式声明无实际影响)
Protocol 2

# 日志级别:VERBOSE 会记录详细调试信息(建议生产环境使用 INFO)
LogLevel VERBOSE

# 启用公钥认证(推荐开启以提高安全性)
PubkeyAuthentication yes

# 忽略 .rhosts 和 .shosts 文件(防止基于主机的认证漏洞)
IgnoreRhosts yes

# 禁用基于主机的认证(增强安全性)
HostbasedAuthentication no

# 禁止空密码登录(必须关闭以防止弱密码攻击)
PermitEmptyPasswords no

# 禁止用户设置环境变量(减少潜在攻击面)
PermitUserEnvironment no

# 允许的加密算法(推荐使用现代算法如 AES-CTR/GCM)
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com

# 客户端活跃检测失败次数为 0(需配合 ClientAliveInterval 使用,建议设为 3)
ClientAliveCountMax 0

# 登录前显示的横幅文件路径(常用于法律声明或警告信息)
Banner /etc/issue.net

# 消息认证码算法(推荐使用 SHA2 系列)
MACs hmac-sha2-512,hmac-sha2-512-etm@openssh.com,hmac-sha2-256,hmac-sha2-256-etm@openssh.com

# 严格检查文件权限(防止密钥文件权限不当)
StrictModes yes

# 禁用 TCP 端口转发(限制网络功能,按需开启)
AllowTcpForwarding no

# 禁用 SSH 代理转发(减少攻击面)
AllowAgentForwarding no

# 禁止远程主机绑定本地端口(防止端口劫持)
GatewayPorts no

# 禁用 VPN 隧道功能(按需开启)
PermitTunnel no

# 密钥交换算法(推荐使用 Curve25519 和 DH-Group)
KexAlgorithms curve25519-sha256,curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256

# 接受的基于主机的密钥类型(需与客户端兼容)
HostbasedAcceptedKeytypes ssh-ed25519,ssh-ed25519-cert-v01@openssh.com,rsa-sha2-256,rsa-sha2-512

# GSSAPI 密钥交换算法
GSSAPIKexAlgorithms gss-group14-sha256-,gss-group16-sha512-,gss-curve25519-sha256-

# CA 签名算法(推荐使用 Ed25519 和 RSA-SHA2)
CASignatureAlgorithms ssh-ed25519,sk-ssh-ed25519@openssh.com,rsa-sha2-512,rsa-sha2-256

# 服务器主机密钥算法(需与客户端兼容)
HostKeyAlgorithms ssh-ed25519,ssh-ed25519-cert-v01@openssh.com,rsa-sha2-256,rsa-sha2-512

# 客户端公钥类型限制(需与现有密钥匹配)
PubkeyAcceptedKeyTypes ssh-ed25519,ssh-ed25519-cert-v01@openssh.com,rsa-sha2-256,rsa-sha2-512
posted @ 2025-02-19 17:12  MiyauchiRenge  阅读(378)  评论(0)    收藏  举报