Установите и настройте openssh-сервер на Ubuntu20.04
本文将介绍在Ubuntu20.04 Desktop上安装并配置使用openssh-server
1. установить ssh
sudo apt-get install openssh-server
2. Измените файл конфигурации "/etc/ssh/sshd_config"
#使用超级用户权限编辑ssh配置文件
sudo vim /etc/ssh/sshd_config
#/etc/ssh/sshd_config
#其它根据个人需要进行修改,本文只介绍最基本的ssh配置
#Port 22 #ssh的端口设置,建议修改,可以避免端口扫描
Port 22222 #建议修改为5位数的端口,此处 22222 端口仅作为示例,请根据实际自行修改
#PermitRootLogin prohibit-password
PermitRootLogin no #禁止使用root用户连接
- Если настройки порта были изменены, необходимо установить правила брандмауэра.
[注]: 若未修改端口,在启动ssh服务后,客户端依然无法连接到服务器,应该是22端口被防火墙屏蔽所致,需按照以下步骤建立22端口的防火墙入站规则(即将以下22222修改为22)
#若 firewalld 未安装,请先安装
sudo apt-get install firewalld
#设置允许 tcp 22222 端口
sudo firewall-cmd --permanent --add-port=22222
#设置允许 ssh 服务 (可选)
sudo firewall-cmd --permanent --add-service=ssh
# reload firewall, 更新应用新规则
sudo systemctl reload firewalld
2.1. Дополнения
При выполнении этой команды sudo firewall-cmd --permanent --add-port=22222
могут возникнуть следующие ошибки .
imaginemiracle@:$ sudo firewall-cmd --permanent --add-port=22222
Error: INVALID_PORT: bad port (most likely missing protocol), correct syntax is portid[-portid]/protocol
Это связано с тем, что firewall
тип протокола не объявляется при добавлении нового правила лицензии, и его можно установить обычным образом после добавления типа протокола. ( [注]:协议类型包括{'tcp'|'udp'|'sctp'|'dccp'}
)
sudo firewall-cmd --permanent --add-port=22222/tcp
2.2 Мало знаний
- Что делать, если вы случайно допустили ошибку
Если вы случайно написали неправильный номер порта, вы можете использовать следующую команду, чтобы удалить добавленные связанные правила порта
sudo firewall-cmd --permanent --remove-port=22222/tcp
- Что делать, если брандмауэр не включен
“firewallD is not running”
?Иногда после ввода команды долго нажимаю EnterEnter
, и выдается следующая ошибка, что означает, что брандмауэр не включен.
firewallD is not running
В настоящее время вам нужно только открыть брандмауэр.Связанные команды для открытия/закрытия следующие:
# 开启防火墙
imaginemiracle@:~$ sudo systemctl start firewalld
# 关闭防火墙
imaginemiracle@:~$ sudo systemctl stop firewalld
# 查看防火墙状态
imaginemiracle@:~$ sudo systemctl status firewalld
2.4 Убедитесь, что порт 22222 открыт
imaginemiracle@:~$ sudo firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eno1
sources:
services: dhcpv6-client ssh
ports: 22222/tcp #从这里看出防火墙已允许22222端口通过
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
3. Запустите openssh-сервер
#启动 ssh 服务
:$ sudo /etc/init.d/ssh start
Starting ssh (via systemctl): ssh.service.
#查看 ssh 服务状态
:$ sudo /etc/init.d/ssh status
Как показано на рисунке ниже, активный означает, что он работает.
4. Удаленное подключение по ssh
#不指定用户连接 [命令: ssh 服务端IP]
ssh 192.168.1.233
#指定用户连接 [命令: ssh UserName@ServerIP]
ssh [email protected]
#制定端口连接 [命令: ssh -p Port UserName@ServerIP]
ssh -p 22222 [email protected]
здесь! Поздравляем, вы освоили еще один навык!
Я участвую в ежегодном отборе звезд блога, пожалуйста, проголосуйте за меня, ваша пятизвездочная похвала - моя поддержка и поощрение. https://bbs.csdn.net/topics/611387877
Спасибо за вашу поддержку! !