大家好,我是高胜寒,本文是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 openssh
openssh-5.3p1-122.el6.x86_64
openssh-clients-5.3p1-122.el6.x86_64
openssh-server-5.3p1-122.el6.x86_64
openssh-askpass-5.3p1-122.el6.x86_64
[root@gaosh-1 ~]#
d) 查看安装产生的文件

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

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)? yes
Warning: 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 文件中,下次登陆的时候就不在提示了。

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

方法二:

如果是普通用户,我们就能省略用户名,

ssh gaosh@192.168.1.64

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

【Linux】循序渐进学运维-服务篇-ssh服务入门_配置文件_03

-l : 指定登陆用户名

总结

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

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