CentOS基础系列四 :配置SSH服务以及Xshell远程工具使用

一、SSH服务

1.1 SSH介绍

SSH是Secure Shell Protocol的简写,由IETF国际互联网工程任务组制定。在进行数据传输之前,SSH先对联机数据包通过加密技术进行加密处理,加密后再进行数据传输,以确保传输数据安全。
SSH是专为远程登录会话和其他网络服务提供的安全性协议。利用SSH协议可以有效地防止远程管理过程中的数据信息泄露问题,在当前的生产环境运维工作中,几乎99%的企业普遍采用SSH协议服务来代替传统的不安全的远程联机服务软件,如telnet(23端口,非加密连接)等。
小结

  • SSH是安全的加密协议,用于远程连接Linux系统。
  • SSH默认端口是22,安全协议版本为SSH2,除了SSH2之外还有SSH1(有漏洞)。
  • SSH服务端主要包含两个服务功能:SSH远程连接和SFTP服务。
  • Linux SSH客户端包含ssh远程连接命令、远程拷贝scp命令、sftp连接命令等。

1.2 安装启动ssh服务

SSH客户端包含SSH以及像scp(远程拷贝)、slogin(远程登录)、SFTP(安全FTP文件传输)等应用程序。
linux默认安装了ssh服务,可以直接启动

systemctl start sshd			# 启动ssh服务
# 如果没有安装使用yum方式安装ssh
# yum install openssh -y

在这里插入图片描述

1.3 ssh配置文件

ssh配置文件是 /etc/ssh/sshd_config ,如果对安全性要求不高,仅仅提供SSH服务的情况下,可以不需要修改任何配置

Port 22						# 端口号
PermitRootLogin yes 		# 允许root用户远程登录
PermitEmptyPassword no		# 禁止空密码登录
UserDNS	no					# 不适用dns,可以提高连接速度

1.4 ssh登录远程服务器

我这里以Centos8连接我的Centos7,Centos7的IP地址是192.168.100.108 。注意登录输入的密码是不会显示出来的

# ssh 用户名@主机名    默认端口为22,如果远程服务器修改了端口,则需要指定端口登录 加 -p 参数
ssh rion@192.168.100.108	
ssh -p22 rion@192.168.100.108		
========================================================================
# 退出远程登录
[rion@centos8-106 ~]$ logout  或者 exit
Connection to 192.168.100.108 closed

在这里插入图片描述
如果连接出错,请检查是否关闭了防火墙,第一次连接是会询问你要不要接收远程主机发过来的key,此时填yes即可

当你第一次连接成功后,系统默认会在连接方(centos8)用户目录下创建一个~/.ssh/known_hosts 文件,里面包含了远程主机的公钥。即下次登录不会询问你,直接输入密码即可。

1.5 scp 命令使用

  • 在tmp目录下创建1.txt文件
[root@centos8-106 ~]# echo "123456 centos8-106" >/tmp/1.txt
[root@centos8-106 ~]# cat /tmp/1.txt 
123456 centos8-106
  • 使用scp把1.txt复制到centos7的tmp目录下
scp -rp /tmp/1.txt rion@192.168.100.108:/tmp
# -P		大写,指定端口
# -r		递归,表示拷贝目录
# -p		小写,表示在拷贝前保持文件或目录属性
# 上面命令的意思是:把本地/tmp/1.txt  文件拷贝到远程服务器(192.168.100.108)的 tmp目录下

在这里插入图片描述
小结:

  • scp是加密的远程拷贝,而cp仅为本地拷贝。
  • 可以把数据从一台机器推送到另一台机器,也可从其他机器把数据拉取到执行命令的服务器。
  • 每次都是全量完整拷贝,因此效率不高,适合第一次拷贝时使用,如果需要增量拷贝,用rsync命令

1.6 基于秘钥的远程登录

如果每次登录都需要输入密码,就会显得太麻烦而且容易泄露密码,这时候我们就需要建立秘钥,用秘钥直接登录,不需要输入密码。
该图中我们以centos7生成秘钥,秘钥包括公钥和私钥,公钥可以理解为锁🔒,私钥可以理解为钥匙🔑。
在这里插入图片描述
centos 7 生产公钥和私钥,公钥(锁)给到指定的服务器上(centos 8),当centos 7 直接登录centos8时,会坚持公钥和私钥是否匹配,匹配成功则登录到centos8中。

生成秘钥
在centos7创建秘钥时,一路回车,默认生成在 /root/.ssh/ 目录下,id_rsa 是私钥,id_rsa.pub 是公钥

ssh-keygen
# -t 指定加密方式,默认采用RSA类型秘钥,加密方式为sha256。可以换成 dsa 来建立DSA类型。
# ssh-keygen -t dsa

在这里插入图片描述
提供两种一键非交互式创建秘钥的方式

ssh-keygen -t dsa -P '' -f ~/.ssh/id_rsa >/dev/null 2>&1 		# 方式1
echo -e "\n" | ssh-keygen -N ""									# 方式2

分发秘钥

  • 使用 ssh-copy-id 分发秘钥
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.100.106
# 把 centos 7 的公钥复制到centos8(192.168.100.106) 中

复制成功后,会在centos8 中多了一个认证文件

 [root@centos8-106 .ssh]# ll
total 16
-rw-------. 1 root root  398 Apr 21 09:23 authorized_keys			# centos 7 中的公钥,后重命名的authorized_keys
-rw-------. 1 root root 2602 Apr 21 09:18 id_rsa
-rw-r--r--. 1 root root  570 Apr 21 09:18 id_rsa.pub
-rw-r--r--. 1 root root  177 Apr 21 08:03 known_hosts

注意
.shh 文件夹的权限为700
authorized_keys 的权限为600 ,如果权限不为600则无法登录

  • 使用 scp分发秘钥
scp /root/.ssh/id_rsa.pub root@192.168.100.106:/root/.ssh/authorized_keys	# 复制公钥到centos8 中
chmod 600 authorized_keys				# 赋予600权限 (权限对应的数字: r=4 | w=2 | x=1 )

如果要实现一台本地服务器登录多台远程服务器,则把公钥给指定的所有远程服务器
在这里插入图片描述
如果要实现多台远程服务器登录一台本地服务器,则把私钥复制给指定的所有远程服务器。
在这里插入图片描述

二、Xshell 远程登录工具

当我们在虚拟机中使用centos时,会发现很多问题,比如无法复制内容到虚拟机中,字体太小,字体样式不好看,多台服务器时,不方便管理。此时我们可以安装xshell远程管理工具,有免费版我这里也提供连接。
下载xshell 7点击这里
xshell安装我就不写了,默认下一步直接安装就可以了。

1.打开软件,点击文件,新建
在这里插入图片描述
2.输入Centos的名称和IP地址,说明可以写也可以不写
在这里插入图片描述
3.点击创建好的通道进行连接
在这里插入图片描述
4.输入用户名和密码
点击接收和保存,把记住用户名、密码打钩。
在这里插入图片描述
在这里插入图片描述
确定后即可登录成功。

5.Xshell 工具介绍
在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值