【Linux】sshd 配置文件(ssh/sshd_config)

Posted by 西维蜀黍 on 2024-08-17, Last Modified on 2024-08-28

sshd 的配置文件位于 /etc/ssh/sshd_config,这是 OpenSSH 服务器的主配置文件,用于控制 SSH 服务器的行为。

以下是一些常见的配置选项及其含义:

常用配置选项

Port

设置 SSH 服务器监听的端口。默认是 22,但可以更改为其他非标准端口以增加安全性。

PubkeyAuthentication

启用或禁用公钥认证。默认情况下,公钥认证是启用的。

PubkeyAuthentication yes

PasswordAuthentication

控制是否允许密码认证。为了提高安全性,可以将其设置为 no,并强制使用公钥认证。

PasswordAuthentication yes

PermitRootLogin

控制是否允许 root 用户通过 SSH 登录。建议设置为 no 以增强安全性。

PermitRootLogin no

Misc

允许 SSH 登录 Ubuntu 远程主机

如果你只是想登陆别的机器的SSH,只需要安装 openssh-client(ubuntu有默认安装,如果没有则 sudo apt-get install openssh-client),

本机开放SSH服务,就需要安装openssh-server。

# ubuntu默认是不启用root用户也不允许root远程登录的。所以需要先启用root用户
# 启用root用户
$ sudo passwd root

# 查看当前的ubuntu是否安装了ssh-server服务
$ dpkg -l | grep ssh

# 安装ssh-server服务
$ sudo apt-get install openssh-server

# 再次查看安装的服务:
$ dpkg -l | grep ssh

# 然后确认ssh-server是否启动了
$ ps -e | grep ssh

# 如果看到sshd,那说明ssh-server已经启动了。
# 如果没有则可以这样启动
$ sudo /etc/init.d/ssh start
# Or
$ sudo service ssh start

禁止SSH登录

配置文件:

ssh-server配置文件位于 /etc/ssh/sshd_config,在这里可以定义SSH的服务端口,默认端口是22,你可以自己定义成其他端口号,如222。

把配置文件中的”PermitRootLogin without-password”加一个”#”号,把它注释掉,再增加一句”PermitRootLogin yes”。

查找 AllowUsers ,如果没有则加上。

This keyword can be followed by a list of user name patterns, separated by spaces.  If specified, login is allowed only for user names that match one of the patterns.
Only user names are valid; a numerical user ID is not recognized.  By default, login is allowed for all users.
If the pattern takes the form USER@HOST then USER and HOST are separately checked, restricting logins to particular users from particular hosts.  HOST criteria may additionally contain addresses to match in CIDR address/masklen format.  The allow/deny users directives are processed in the following order: DenyUsers, AllowUsers.

See PATTERNS in ssh_config(5) for more information on patterns.
# allow all users
AllowUsers *
# allow sw user only
AllowUsers sw

上面表达的意思就是只允许 sw 和root用户远程登录。

# 重启 openssh server
$ sudo service ssh restart

Reference