SSH远程管理及服务控制

一、SSH远程管理

说明:SSH是一种安全通道协议,主要用来实现字符界面的远程登录,远程复制等功能。SSH协议对通信双方的数据传输进行了加密处理,其中包括用户登录时的用户口令,因此SSH协议具有很好安全性。

  • SSH(Secure Shell)协议
  • 是一种安全通道协议
  • 对通信数据进行了加密处理,用于远程管理
  • OpenSSH
    • 服务名称:sshd
    • 服务端主程序:/usr/sbin/sshd
    • 服务端配置文件:/etc/ssh/sshd_config

1.1.2、SSH客户端和服务端介绍

SSH客户端<--------------------------------------网络----------------------------->SSH服务端

说明:两者传输都要加密压缩

  • 数据传输是加密的,可以防止信息泄露
  • 数据传输是压缩的,可以提高传输速度

SSH客户端:

  • Putty
  • Xshell
  • CRT

SSH服务端:

OpenSSH

  • OpenSSH是实现SSH歇息的开源软件项目,适用于各种Unix、Linux系统;
  • Centos7系统默认已安装openssh相关软件包,并且已经将sshd服务添加为开机自启动
  • 可以用systemctl start sshd命令启动服务
  • sshd服务默认端口号22
  • sshd服务的默认默认配置文件是/etc/ssh/sshd_config

注意:

ssh_config和sshd_config都是ssh服务器的配置文件,不过ssh_config是客户端配置文件,sshd_config是服务器的配置文件

配置OpenSSH服务器

配置OpenSSH服务端
#sshd_conbfig配置文件的常用选项
vim /etc/ssh/sshd_config   #进入服务端配置文件进行编辑
Port 22 #监听端口为22
ListenAddress 0.0.0.0 #监听地址为任意网段,也可以指定OpenSSH服务器的具体IP
LoginGraceTime 2m #登录验证时间为 2m
PermitRootLogin no #禁止空密码用户登录
MaxAuthTries 6 #最大重复次数为6次
PermitEmptyPasswords no #禁止空密码登录
UseDNS no #禁用DNS反向解析,以提高服务器的响应速度

案例:

只允许zhangsan、lisi、wangwu用户登录,且其中wangwu用户仅能够从IP地址为61.23.24.25的主机远程登录
AllowUsers zhangsan lisi wangwu@61.23.24.25
#禁止某些用户登录,用法与AllowUsers类似(注意不要同时使用)
DenyUsers zhangsan

添加在配置文件里面的格式:

Allowusers zhangsan lisi  wangwu@20.0.0.19

操作:

1.1.3、sshd服务支持的两种验证方式

  • 密码验证
  • 对服务器中本地系统用户登录名称、密码进行验证。简单,但是有弊端就是可能会被暴力破解
  • 密钥对验证
    • 要求提供相匹配的密钥信息才能通过验证。通常先在客户端中创建一对密钥文件(公钥,私钥),然后将公钥文件发到服务器指定的位置。远程登录时系统将使用公钥,私钥进行加密/解密关联验证。增强安全性,且可以免交互登录
注意:当密码验证,密钥验证都起用时,服务器将优先使用密钥对验证。可根据实际情况设置验证方式
vim /etc/ssh/sshd_config
PasswordAuthentication yes #启用密码验证
PubkeyAuthentication   yes #启用密钥对验证
AuthorizedKeysFile .ssh/authorized_keys   #指定公钥库文件

使用SSH客户端程序

1、ssh远程登录
ssh [选项] zhangsan@192.168.80
当用户第一次登录SSH服务器时,必须接受服务器发来的ECDSA密钥(根据提示输入yes)后才能继续验证。接受的密钥信息将保存在~/.ssh/know_hosts文件中。密码验证成功后,即可登录目标服务器命令行环境中了。

-p:指定非默认的端口号,缺省时默认使用 22端口

例子:ssh -p zhangsan@192.168.80.10

##########################################
2、scp远程复制
#下行复制(复制远程主机中的文件)
scp root@192.168.80.11:/etc/passwd /root/passwd10.txt #将远程主机中的/etc/passwd文件复制到本机

#上行复制
scp -r /etc/ssh/ root@192.168.80.10:/opt #将本机的/etc/ssh/目录复制到远程主机

#######################################
3、sftp这是一种安全的ftp 协议
由于使用了加密/解密技术,所以传输效率比普通的ftp要低,但安全性更高。操作sftp和ftp几乎一样。
操作步骤:
sftp  zhangsan@192.168.80.10
Connecting to 192.168.80.10... #这是连接后状态
tsengyia@172.16.16.22's password: #输入密码
sftp> ls
sftp>get 文件名  #下载文佳到ftp目录
sftp>put 文件名  #上传文件到ftp目录
sftp>quit        #退出

scp从对方主机复制文件

**说明:**由于Centos7系统默认已安装openssh相关软件包,并且已经将sshd服务添加为开机自启动,所以就不用了每次开启服务了

#前期准备:两台主机 本机ip:20.0.0.19 对方ip:20.0.0.10
#要求:从20.0.0.10主机上下载aa目录以及目录下的文件和文件夹

查看对方主机aa目录位置

在这里插入图片描述

本机直接复制并且进行查看:

在这里插入图片描述

scp从本机复制目录到对方主机上

接上面的操作

说明:由于之前从对方主机上复制了aa目录,先手动删除对方的aa目录,然后将本机的aa目录复制(为了好辨别,我直接说上传)到对方主机上

对方主机上面进行的操作:

在这里插入图片描述

本机的操作:

在这里插入图片描述

查看对方主机是否上传成功:

在这里插入图片描述

sftp(一种文件传输,不能传输目录)上传下载操作:

本机操作:

在这里插入图片描述

查看服务端主机文件信息

在这里插入图片描述

配置密钥对验证

1、在客户端创建密钥对
#通过sh-kengen工具为当前用户创建密钥对文件。可用的加密算法为RSA、ECDSA或DSA(ssh-engen命令的“-t” 选项用于指定算法类型)
步骤:
useradd admin
echo "123123" |passwd --stdin admin
su -admin
ssh -kengen -t ecdsa
Generating public/private esdsa key pair.
Enter file in which to save the key (/home/admin/.ssh/id_ecdsa):#指定私钥位置,直接回车使用默认位置
Created directory '/home/admin/.ssh'. #生成的私钥、公钥文件默认放在宿主目录中的隐藏文件.ssh下
Enter passphrase (empty for no passphrase):  #设置私钥密码
Enter same passphrase again:   #私钥密码确认

ls -l .ssh/id_ecdsa*
#id_ecdsa是私钥文件,权限默认是600;id_ecdsa.pub 是公钥文件,用来提供给SSH服务器

2、将公钥文件上传到服务器(两种方式上传)
scp ~/.ssh/id_ecdsa.pub root@192.168.80.10:/opt
或者
ssh-copy-id -i id_ecdsa.pub zhangsan@192.168.80.10

说明一下:密钥验证的话,公钥都要上传到服务器,才能进行验证

3、在服务器中导入公钥文本
mkdir /home/zhangsan/.ssh/
cat /opt/id_ecdsa.pub >>/home/zhangsan/.ssh/authorized_keys
cat /home/zhangsan/.ssh/authorized_keys

4、在客户端使用密钥对验证
ssh zhangsan@192.168.80.10
lisi@192.168.80.10's password:#输入私钥的密码

5、在客户机设置ssh代理,实现免交互登录
ssh -agent bash
ssh-add
Enter passwordPhrase for /home/admin/id_ecdsa #输入私钥的密码

ssh zhangsan@192.168.80.10
注意:bash必须要在当前环境

1.2、使用SSH客户端程序

1.3、密钥对验证的SSH体系

二、TCP Wrappers访问控制

三、部署YUM仓库及NFS共享服务

3.1、YUM概述

  • YUM(Yellow dog Updater Modified)

  • 基于RPM包构建的软件跟新机制

  • 可以自动解决依赖关系

  • 所有软件包由集中的YUM软件仓库提供

    注意:centOS下叫YUM,Ubuntu(乌班图)下的叫apt

3.2、准备安装源

  • 软件仓库的提供方式
  • FTP服务:ftp://…
  • HTTP服务:http://…
  • 本地目录:file://…
  • RPM软件包的来源
    • CentOS发布的RPM包集合
    • 第三方组织发布的RPM包集合
    • 用户自定义的RPM包集合
  • 构建CentOS 7软件仓库
    • RPM包来自CentOS 7 DVD光盘
    • 通过FTP方式提供给客户
mkdir -p /var/ftp/centos7
cp -rf /media/cdrom/* /var/ftp/centos7
rpm -ivh /media/cdrom/Package/vsftpd-3.0.2-21.el7.x86_64.rpm
systemctl start vsftpd
systemctl enabledvsftpd

远程下载yum源

关于systenctl的作用(这里是查看sshd服务是否开机自启动)

命令:

systemctl is-enabled sshd #查看服务是否开机自启动
###############下面的是复习,服务有时候和程序是不一样的,比如bind程序,但是服务是named
基本:start stop status restart reload
systemctl start sshd  #开启一个服务 
systemctl stop sshd #关闭一个服务 
systemctl status sshd #查看一个服务的状态
重要systemctl restart sshd #重启一个服务
systemctl reload sshd # 重新加载服务

#############服务开机自启动开启和关闭
重要systemctl enable sshd  #设定一个服务开机启动
重要systemctl disabled sshd #设置服务开机不启动
重要systemctl is-enabled sshd #查看服务是不是开机自启动

##############服务的锁定和解锁
systemctl mask sshd #锁定服务
systemctl unmask sshd #解锁服务
#########################开机是否启动图形
systemctl set-default graphical.target #开机启动图形
systemctl set-default multi-user.target #开机不启动图形

操作:

自启动的显示:enabled

在这里插入图片描述

不是自启动的显示:disabled

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

逆水行舟*不进则退

你的赞是我的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值