Ubuntu20.04安装并配置SSH

在这里插入图片描述

Ubuntu20.04上安装配置openssh-server

本文将介绍在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”
    有时候命令输了半天,敲下回车 Enter,报如下错误则说明防火墙没打开。
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-server

#启动 ssh 服务
:$ sudo /etc/init.d/ssh	start
Starting ssh (via systemctl): ssh.service.
#查看 ssh 服务状态
:$ sudo /etc/init.d/ssh status

如下图,active则表示正在运行
在这里插入图片描述

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
感谢您的支持!!

猜你喜欢

转载自blog.csdn.net/qq_36393978/article/details/109801470