大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-服务篇的第3篇文章
文章目录
前言
上篇文章,我们主要探讨了telnet, telnet的缺点是不安全,如果你还没有学习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_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) 查看安装产生的文件
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 文件中,下次登陆的时候就不在提示了。
方法二:
如果是普通用户,我们就能省略用户名,
ssh gaosh@192.168.1.64
如果不想使用@,还可以使用-l参数
-l : 指定登陆用户名
总结
本文主要讲解了ssh的安装及远程登录的方式, 下篇文章我们再来探讨scp和无秘钥登陆。
我是高胜寒,一个在教培行业不忘初心的人,欢迎留言与我一起交流,我们下篇文章再见。