通过SSH服务登陆linux服务器(版本RHEL7)

时间:2022-11-14 02:26:33

通过SSH服务登陆linux服务器(版本RHEL7)

SSH服务概述:是一种能够以安全的方式提供远程登陆的协议,也是目前远程管理linux系统的首选方式。在此之前,我们一般使用FTP或者telnet来远程登陆,因为它们是使用明文的形式在网络中传输账户密码和数据信息,因此很不安全,容易受到中间人攻击及非法篡改传输的数据信息,重则直接抓取服务器的账户密码。

使用ssh协议远程登陆的优点:

  • 基于口令的验证——用账户和密码来验证登录;
  • 基于密钥的验证——需要在本地生成密钥对,然后把密钥对中的公钥上传至服务器,并与服务器中的公钥进行比较。

方法一:通过用户名和密码的方式登录(Xshell为例)

通过SSH服务登陆linux服务器(版本RHEL7)

  • 输入用户名

通过SSH服务登陆linux服务器(版本RHEL7)

  • 输入密码

默认的状态下,linux服务器的sshd服务是开启的,无需任何服务器配置就可以直接登录上,前提是保证客户端与服务器网络可以通。

  • 如果为了增加安全性,不允许以管理员用户登陆,则需修改配置文件:

sshd主配置文件:/etc/服务名称/服务名称.conf(重要的配置信息)

ssh_config是ssh客户端配置文件

sshd_config是ssh服务器配置文件

在这里我们修改服务器端的配置文件:

vim /etc/ssh/sshd_config

通过SSH服务登陆linux服务器(版本RHEL7)

修改配置文件

systemctl restart sshd //重启ssh服务(修改配置文件后重启服务配置文件才会生效)

测试发现root用户无法登陆

通过SSH服务登陆linux服务器(版本RHEL7)

方法二:通过密钥的方式登录

  • Linux客户端生成密钥:

    [root@CeShiJi ~]# ssh-keygen

    Generating public/private rsa key pair.

    Enter file in which to save the key (/root/.ssh/id_rsa):

    Enter passphrase (empty for no passphrase): 为密钥对设置密码,不设可以直接enter

    Enter same passphrase again: 确认密码

    Your identification has been saved in /root/.ssh/id_rsa. ——私钥

    Your public key has been saved in /root/.ssh/id_rsa.pub. ——公钥

    The key fingerprint is:

    00:f5:78:00:a0:26:94:e2:67:d6:65:70:7a:38:99:d4 root@CeShiJi.localdomain

    The key's randomart image is:

    +--[ RSA 2048]----+

    | .o.o==. |

    |oo ..*E |

    |=. .*=.o |

    |o. + .oo |

    | + S |

    | |

    | |

    | |

    | |

    +-----------------+

    [root@CeShiJi ~]#

    通过SSH服务登陆linux服务器(版本RHEL7)

    上传公钥至服务端,在root@192.168.88.100's password: 后面输入服务器端密码。

    通过SSH服务登陆linux服务器(版本RHEL7)

    修改服务端配置文件,让其禁止密码验证登录。

    systemctl restart sshd //重启服务

    通过SSH服务登陆linux服务器(版本RHEL7)

    验证发现,咱们无需密码和用户名直接就可以登录到服务器上。

  • 通过xshell创建密钥:

通过SSH服务登陆linux服务器(版本RHEL7)

生成密钥对。

下一步,下一步。

通过SSH服务登陆linux服务器(版本RHEL7)

为密钥设置密码及名称,密码可以为空。

通过SSH服务登陆linux服务器(版本RHEL7)

公钥格式可以选择openssh或者IETF SECSH格式。将公钥保存为文件。

将公钥文件通过软件上传到linux服务器里。

通过SSH服务登陆linux服务器(版本RHEL7)

[root@localhost ~]# cat test_1.pub >> .ssh/authorized_keys

将上传的公钥文件安装到authorized_keys文件中。

通过SSH服务登陆linux服务器(版本RHEL7)

选择刚刚新建的test_1s私钥,如果上面设置了密钥密码则在此处填写,否则为空。

注意:看有的人会遇到权限问题,解决方法:

ssh-keygen -i -f test_1.pub >> .ssh/authorized_keys

chmod 755 /home/houliangzhou/.ssh

chmod 644 authorized_keys