SSH(Secure Shell)是一个用于安全远程登录的协议,它通过加密数据来保护用户信息和传输内容,SSH配置文件是控制SSH客户端和服务端行为的关键文件,分为系统级和用户级两种。
SSH配置文件
1. 系统级配置文件:/etc/ssh/sshd_config
该文件位于系统的SSH目录下,影响所有用户的SSH连接,通常包含更通用的配置选项,适用于大多数主机和用户。
2. 用户级配置文件:~/.ssh/config
这个文件通常位于用户的主目录下,专为单个用户优化SSH配置,用户可以在其中为特定的主机或主机组设置连接参数,如端口号、用户名、密码等。
/etc/ssh/sshd_config
详解
配置项 | 默认值 | 说明 |
Port | 22 | 指定SSH服务监听的端口号,修改后需要重启服务 |
ListenAddress | 0.0.0.0 | 设置SSHD服务器绑定的IP地址,0.0.0.0表示侦听所有地址 |
LoginGraceTime | 120 | 输入密码画面中在多久时间内没有成功连上SSH server就强迫断线,单位为秒 |
PermitRootLogin | yes | 是否允许root登录,建议设定成no以提高安全性 |
PubkeyAuthentication | yes | 启用公钥认证,提高安全性 |
PermitEmptyPasswords | no | 是否允许空密码的用户登录,默认为no |
UsePAM | yes | 使用PAM进行身份验证,内网互连时可设为no提高速度 |
PrintMotd | yes | 登录后显示一些默认信息,如上次登录时间、地点等 |
SyslogFacility | AUTHPRIV | 当有人使用SSH登入系统时,SSH会记录信息的类型为AUTHPRIV,日志存放在/var/log/secure |
`~/.ssh/config` 详解
配置项 | 说明 |
Host | 主机名或IP地址 |
User | 用户名 |
Port | 端口号 |
IdentityFile | 私钥文件路径 |
Compression | 是否启用压缩 |
TCPKeepAlive | 是否启用TCP保活功能 |
示例配置
/etc/ssh/sshd_config
示例
Port 8888 ListenAddress 0.0.0.0 LoginGraceTime 60 PermitRootLogin no PubkeyAuthentication yes PermitEmptyPasswords no UsePAM yes PrintMotd yes SyslogFacility AUTHPRIV
~/.ssh/config
示例
Host myserver HostName mydomain.com User username Port 2222 IdentityFile /path/to/private_key Compression yes TCPKeepAlive yes
相关FAQs
Q1: 如何更改SSH服务的默认端口?
A1: 要更改SSH服务的默认端口,可以在/etc/ssh/sshd_config
文件中修改Port
配置项的值,然后重启SSH服务以使更改生效,将端口更改为8888:
Port 8888
更改后,使用以下命令重启SSH服务:
sudo systemctl restart sshd
远程登录时,需要加上-p
参数指定端口号:
ssh -p 8888 username@hostname
Q2: 如何为特定主机配置SSH连接参数?
A2: 可以为特定主机在用户级的~/.ssh/config
文件中配置连接参数,为名为myserver的主机设置特定的用户名和端口号:
Host myserver HostName mydomain.com User username Port 2222
这样,当你通过SSH连接到myserver时,它将使用这些特定的参数进行连接。
小伙伴们,上文介绍了“ssh配置文件”的内容,你了解清楚吗?希望对你有所帮助,任何问题可以给我留言,让我们下期再见吧。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1290239.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复