本文讲述通过Windows端的软件SecureCRT通过ssh协议连接VM下的linux centos8。连接的原理图如下:

CentOS8 ssh设置 centos8 开启ssh_linux


所以,centos系统上必须安装openssh-server,类似于服务器端。(因为是使用Windows下的软件来访问linux,所以Linux下不需要安装openssh的客户端)openssh-client在Windows下的很多软件中都支持,如上图所示软件,所以本文的重点是配置linux下的ssh服务器。1.查看centos中是否安装了openssh-server。查看命令:yum list installed | grep openssh-server

CentOS8 ssh设置 centos8 开启ssh_ip地址_02

上图显示已经安装,如果没任何输出显示表示没有安装 openssh-server,通过输入 yum install openssh-server来安装。

2.修改 /etc/ssh/ 目录下的sshd服务配置文件 sshd_config。(注意一定是sshd_config文件,如果系统中安装有openssh-client,就会有ssh_config文件,别找错了文件)
vi /etc/ssh/sshd_config (以下是一些基本配置)

Port 22  #定义ssh监听的端口号,默认为22 

ListenAddress 0.0.0.0  #设置ssh服务器绑定的ip地址,默认为所有可用的ip地址 

CentOS8 ssh设置 centos8 开启ssh_centos_03


PermitRootLogin yes #设置是否允许root登录,默认允许 

CentOS8 ssh设置 centos8 开启ssh_linux_04


#PermitEmptyPasswords no #设置是否允许空密码的客户登录,默认为禁止 

PasswordAuthentication yes #设置是否使用口令认证方式,如果要使用公钥认证方式,可将其设置为no

CentOS8 ssh设置 centos8 开启ssh_CentOS8 ssh设置_05


3.启动sshd服务。

service sshd start 启动sshd服务。

ps -e | grep sshd 检查sshd服务是否已经启动。

CentOS8 ssh设置 centos8 开启ssh_ssh_06


将sshd服务添加之自启动列表中,并查看是否开启自启动sshd服务。

systemctl enable sshd.service

systemctl list-unit-files | grep sshd

CentOS8 ssh设置 centos8 开启ssh_ip地址_07


4.确认centos和PC之间网络互通,并且查看centos的ip地址。

这里在centos上访问外网来验证网络是通的。

CentOS8 ssh设置 centos8 开启ssh_CentOS8 ssh设置_08

ifconfig -a 查看centos的ip地址。

CentOS8 ssh设置 centos8 开启ssh_ip地址_09

5.使用SecureCRT来连接访问centos8。

新建一个连接,这里的名称可以随意更改,代表此连接窗口的名称。终端这里选的是SSH2,是ssh协议方式,代表Protocol 2。

SFTP指的是文件传输(客户端复制远程主机)使用加密的FTP协议进行。

CentOS8 ssh设置 centos8 开启ssh_CentOS8 ssh设置_10


配置访问centos的ssh client登录信息。主机名必须是上一步查询到的centos的网络IP地址。端口号22必须和ssh server配置文件中一致。防火墙不用打开。用户名使用登录centos时的用户名,也可以使用root登录,但ssh server的配置必须允许root登录。

CentOS8 ssh设置 centos8 开启ssh_linux_11


基本配置就完成了,然后使用此会话连接到centos,此时会弹出一个小窗口需要输入对应用户的登录密码,输入正确即可进入centos的远程访问界面。如下:(由于不是首次登录,所以显示了上次登录的信息。)

CentOS8 ssh设置 centos8 开启ssh_ip地址_12