> 文档中心 > 【Linux】循序渐进学运维-服务篇-ssh服务入门

【Linux】循序渐进学运维-服务篇-ssh服务入门

大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-服务篇的第3篇文章

文章目录

        • 前言
        • 1. 什么是SSH?
        • 2. ssh的连接原理
        • 3. ssh服务的安装
          • 1) OpenSSH的构成
          • 2) 安装ssh服务
            • a) 通过yum安装(推荐使用)
            • b) 本地rpm包安装
            • c) 安装好后,确认是否安装:
            • d) 查看安装产生的文件
        • 4. openssh的配置文件
        • 5. 启动服务并设置开启自启动
        • ssh的使用
          • 方法一
          • 方法二:
        • 总结

前言

上篇文章,我们主要探讨了telnet, telnet的缺点是不安全,如果你还没有学习telnet,请点击下方链接进行学习:

【Linux】循序渐进学运维-服务篇-telnet

今天我们一起来聊聊: 关于ssh服务的基本使用

1. 什么是SSH?

简单说,SSH是一种网络协议,用于计算机之间的加密登录。

最早的时候,互联网通信都是明文通信,一旦被截获,内容就暴露无疑。1995年,芬兰学者Tatu Ylonen设计了SSH协议,将登录信息全部加密,成为互联网安全的一个基本解决方案,迅速在全世界获得推广,目前已经成为Linux系统的标准配置。

作用:
SSHD服务使用SSH协议可以用来进行远程控制,或在计算机之间传送文件。
相比较之前用Telnet方式来传输文件要安全很多,因为Telnet使用明文传输,SSH是加密传输。

2. ssh的连接原理

ssh服务是一个守护进程(demon),系统后台监听客户端的连接,ssh服务端的进程名为sshd,负责实时监听客户端的请求(IP 22端口),包括公共秘钥等交换等信息。

ssh服务端由2部分组成: `

  • openssh`(提供ssh服务)
  • openssl`(提供加密的程序)

3. ssh服务的安装

1) OpenSSH的构成

OpenSSH 服务需要4个软件包

OpenSSH软件包,提供了服务端后台程序和客户端工具,用来加密远程控件和文件传输过程中的数据,并由此来代替原来的类似服务Telnet或Ftp。

[root@gaosh-1 ~]# ls /mnt/Packages/openssh*/mnt/Packages/openssh-5.3p1-122.el6.x86_64.rpm   #包含OpenSSH服务器及客户端需要的核心文件。/mnt/Packages/openssh-askpass-5.3p1-122.el6.x86_64.rpm #支持对话框窗口的显示/mnt/Packages/openssh-clients-5.3p1-122.el6.x86_64.rpm #OpenSSH客户端软件包。/mnt/Packages/openssh-server-5.3p1-122.el6.x86_64.rpm #OpenSSH服务器软件包###
2) 安装ssh服务

安装ssh有两种方式:

a) 通过yum安装(推荐使用)
 yum install openssh openssh-clients openssh-server -y 
b) 本地rpm包安装
[root@gaosh-1 ~]# rpm -ivh /mnt/Packages/openssh*.rpm

以上两种安装方式都可以

c) 安装好后,确认是否安装:
[root@gaosh-1 ~]# rpm -qa |grep opensshopenssh-5.3p1-122.el6.x86_64openssh-clients-5.3p1-122.el6.x86_64openssh-server-5.3p1-122.el6.x86_64openssh-askpass-5.3p1-122.el6.x86_64[root@gaosh-1 ~]# 
d) 查看安装产生的文件

在这里插入图片描述

4. openssh的配置文件

OpenSSH常用配置文件有两个/etc/ssh/ssh_config和/etc/sshd_config。

  • ssh_config为客户端配置文件,设置与客户端相关的应用可通过此文件实现。
  • sshd_config为服务器端配置文件,设置与服务端相关的应用可通过此文件实现

5. 启动服务并设置开启自启动

[root@gaosh-64 ~]# systemctl restart sshd  ##重启服务

设置开机启动

[root@gaosh-64 ~]# systemctl enable sshd

ssh的使用

方法一

ssh [远程主机用户名] @[远程服务器主机名或IP地址] -p port

ssh root@192.168.1.64 -p 22

一般root可以省略,端口号默认为22,可以省略, 所以上面的方式可以简化为:
ssh 192.168.1.64

[root@gaosh-1 ~]# ssh 192.168.1.64   ## 远程登录The authenticity of host '192.168.1.64 (192.168.1.64)' can't be established.RSA key fingerprint is 3a:13:d9:39:09:d1:7a:5c:0f:a7:08:ad:f9:ee:85:b5.Are you sure you want to continue connecting (yes/no)? yesWarning: Permanently added '192.168.1.64' (RSA) to the list of known hosts.root@192.168.1.64's password: Last login: Mon Jul 13 22:34:02 2020 from 192.168.1.4[root@gaosh-64 ~]# 

第一次登陆时,系统没有保存远程主机的信息,为了确认该主机身份会提示用户是否连接,输入yes后,才可以登陆。
登陆后,系统会将服务器的信息写入用户的主目录下的 $HOME/.ssh/known_hosts 文件中,下次登陆的时候就不在提示了。

在这里插入图片描述

方法二:

如果是普通用户,我们就能省略用户名,
ssh gaosh@192.168.1.64

如果不想使用@,还可以使用-l参数

【Linux】循序渐进学运维-服务篇-ssh服务入门
-l : 指定登陆用户名

总结

本文主要讲解了ssh的安装及远程登录的方式, 下篇文章我们再来探讨scp和无秘钥登陆。

我是高胜寒,一个在教培行业不忘初心的人,欢迎留言与我一起交流,我们下篇文章再见。