【五】Linux软件仓库Yum源--SSH远程控制--SCP远程传输

news2024/11/8 13:51:43

RPM(红帽软件包管理器)

RPM建立统一的数据库文件,记录软件信息并分析依赖关系。目前RPM的优势已经被公众所认可,使用范围也已不局限在红帽系统中了。常见RPM命令如下:

安装软件                       rpm -ivh filename.rpm

升级软件                       rpm -Uvh filename.rpm

卸载软件                     rpm -e filename.rpm

查询软件描述信息            rpm -qpi filename.rpm

列出软件文件信息              rpm -qpl filename.rpm

查询文件属于哪个RPM        rpm -qf filename

例、安装linux版QQ。下载链接:https://im.qq.com/linuxqq/download.html,下载安装包后复制到虚拟机linux桌面上,打开终端,切换目录后输入rpm-ivh XXX安装软件。

wget https://dldir1.qq.com/qqfile/qq/QQNT/2355235c/linuxqq_3.1.1-11223_x86_64.rpm

Yum软件仓库 

Yum软件仓库便是为了进一步降低软件安装难度和复杂度而设计的技术。Yum软件仓库可 以根据用户的要求分析出所需软件包及其相关的依赖关系,然后自动下载软件包并安装到系统。

配置本地yum软件仓库

Yum软件仓库的作用是为了进一步简化RPM管理软件的难度以及自动分析所需软件包及其依赖关系的技术。要使用Yum软件仓库,就要先把它搭建起来然后正确配置。

1、CD/DVD驱动器加载镜像

2、创建挂载目录,编辑/etc/fstab配置文件,挂载。

也可以临时挂载

[root@yegg ~]# mount /dev/sr0  /media/cdrom/

3、查看是否挂上

[root@yegg ~]# df -h

/dev/sr0                 7.9G  7.9G     0  100% /media/cdrom

4、创建Yum仓库的配置文件。

使用vim编辑器在/etc/yum.repos.d/目录中创建配置文件,文件名称可自定,但后缀必须为.repo,逐项写入以下内容。

[root@mylinux ~]# cd /etc/yum.repos.d/

[root@mylinux yum.repos.d]# vim rhel.repo

[rhel]    #Yum软件仓库唯一标识名,避免和其他仓库冲突

name=rhel    #Yum软件仓库的名称

baseurl=file:///media/cdrom   #提供的方式包括FTP(ftp://..)、HTTP(http://..)、本地(file:///..)

enable=1     #是否启用;1为启用,0为禁用

gpgcheck=0   #是否校验文件;1为校验,0为不校验。本地源一般不校验。

Rehad7 以及centos7 的写法:

Redhat8 以及centos8 写法:(sr0挂载在/media/cdrom目录下)

1:安装   #yum   install           2,检测升级   # yum  update      

3,升级   #yum  update          4,软件包查询  #yum  repolist   / yum list all  

5,软件包信息  #yun  info        6,卸载软件 #Yum  remove

安装LINUX版本的QQ及其 依赖包。

远程控制

sshd服务

SSH(Secure Shell)是一种提供远程登录的协议,是目前远程管理Linux系统的第一选择,可以基于口令和密钥进行验证。sshd服务的配置信息保存在/etc/ssh/sshd_config文件中,配置文件中有些配置项是以井号(#)开头,若想要这些配置生效,需要去掉井号(#)。重要的参数如下:

参数

作用

Port 22

默认的sshd服务端口

ListenAddress 0.0.0.0

设定sshd服务器监听的IP地址

Protocol 2

SSH协议的版本号

HostKey /etc/ssh/ssh_host_key

SSH协议版本为1时,DES私钥存放的位置

HostKey /etc/ssh/ssh_host_rsa_key

SSH协议版本为2时,RSA私钥存放的位置

HostKey /etc/ssh/ssh_host_dsa_key

SSH协议版本为2时,DSA私钥存放的位置

PermitRootLogin yes

是否允许root管理员直接登录

StrictModes yes

当远程用户的私钥改变时拒绝连接

MaxAuthTries 6

最大密码尝试次数

MaxSessions 10

最大终端数

PasswordAuthentication yes

是否允许密码验证

PermitEmptyPasswords no

是否允许空密码登录

RHEL7系统已经默认启用了sshd服务,现在再开启一台虚拟机,现在有两台服务器,主机名和IP分别为mylinux_01、192.168.20.7,mylinu_02、192.168.20.10。现在我们在mylinux_02上使用ssh远程连接到mylinux_01,使用root身份。

[root@mylinu_02 ~]# ssh 192.168.20.7

The authenticity of host '192.168.20.7 (192.168.20.7)' can't be established.

ECDSA key fingerprint is SHA256:uiViG3xHDWCMFRMQdfLvuJpYTpLCvM3+VK4WdxXSBH8.

ECDSA key fingerprint is  MD5:7a:6c:97:24:f4:6c:c0:90:39:b5:4a:65:4c:80:2b:8d.  

Are you sure you want to continue connecting (yes/no)? yes   # 第一次远程登录需输入yes确认

Warning: Permanently added '192.168.20.7' (ECDSA) to the list of known hosts.

root@192.168.20.7's password:    #此处输入远程主机的root密码

Last login: Tue Nov  5 14:49:37 2019

[root@mylinux_01 ~]#

可以使用-l参数指定登录用户名,此处我们使用-l参数指定以普通用户mylinux远程登录到mylinux_01主机。

例:

[root@mylinu_02 ~]# ssh -l mylinux 192.168.20.7

mylinux@192.168.20.7's password:   #此处输入远程主机的root密码

Last login: Fri Nov 22 14:25:56 2019 from 192.168.20.10

[mylinux@mylinux_01 ~]$

如果想要禁止以root管理员身份进行远程登录,可在配置文件中将PermitRootLogin后边的yes改为no即可,大家自行实验。

安全密钥验证

1、使用ssh-keygen命令在客户端主机中生成“密钥对”。

[root@mylinu_02 ~]# ssh-keygen -t rsa

Generating public/private rsa key pair.

Enter file in which to save the key (/root/.ssh/id_rsa):  #确认密钥储存位置

/root/.ssh/id_rsa already exists.

Overwrite (y/n)? y

Enter passphrase (empty for no passphrase):  #回车确认或自行设置密钥的密码

Enter same passphrase again:   #再次回车确认或自行设置密钥的密码

Your identification has been saved in /root/.ssh/id_rsa.

Your public key has been saved in /root/.ssh/id_rsa.pub.

The key fingerprint is:

SHA256:6/7sYxLu/bX2YWQzErtDyju5N97o/D9XQTWE3vvHE/k root@mylinu_02

The key's randomart image is:

+---[RSA 2048]----+

|              ooo|

|             . ..|

|            ..o  |

|             .oo |

|        S    + =+|

|        ... o =++|

|       ... o.o.+=|

|       .ooooo+*+E|

|       o+===B*++O|

+----[SHA256]-----+

2、使用ssh-copy-id命令 + 远程主机的IP把客户端主机中生成的公钥文件传送至远程主机。

[root@mylinu_02 ~]# ssh-copy-id 192.168.20.7

/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed:   "/root/.ssh/id_rsa.pub"

/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed

/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are   prompted now it is to install the new keys

root@192.168.20.7's password:   #此处输入远程主机的root密码

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh '192.168.20.7'"

and check to make sure that only the key(s) you wanted were added.

3、在客户端尝试登录到服务器,验证是否无须输入密码也可成功登录。

此处默认为root管理员,若想普通用户也可以使用密钥登录,如mylinux_01主机的mylinux用户也能在客户机上使用密钥验证,执行如下命令即可:ssh-copy-id mylinux@192.168.20.7。进入秘钥保存目录/root/.ssh,删掉相关文件后再次进行远程登录测试,就需要使用密码进行验证。

Windows 免密钥登陆

1,xshell生成密钥对

 

2.将密钥上传到 liunx服务器的 /root/.ssh 目录中

[root@yegg] mkdir .ssh     [root@yegg] cd  .ssh

[root@yegg .ssh]# ls

id_rsa  id_rsa_2048.pub(上传来的公钥)  id_rsa.pub  known_hosts

[root@yegg .ssh]# mv  id_rsa_2048.pub   authorized_keys  修改密钥名称为authorized_keys

3,查看ssh 的密钥登陆是否打开

    [root@linux-node ~]# grep '^[A,P]' /etc/ssh/sshd_config
    PubkeyAuthentication  yes                    #启用PublicKey认证 
    AuthorizedKeysFile    .ssh/authorized_keys      #PublicKey文件路径
    P asswordAuthentication  no                   #不适用密码认证登录

4, 密钥登陆

scp远程传输命令

scp可以基于SSH协议在网络之间进行加密安全传输,而咱们前边学过的cp命令只能在本地硬盘中进行文件复制。scp常用参数如下:

参数

作用

-v

显示详细的连接进度

-P

指定远程主机的sshd端口号

-r

用于传送文件夹

例1、在mylinux_02主机的/tmp目录下创建一个test.txt文件,内容为yinhejiaoyu,在使用scp命令将此文件远程传输至mylinux_01主机的/tmp目录。

[root@mylinu_02 ~]# echo hello > /tmp/test.txt

[root@mylinu_02 tmp]# scp /tmp/test.txt  root@192.168.20.7:/tmp/

root@192.168.20.7's password:   #此处输入远程主机的root密码

test.txt                                100%   12    13.5KB/s   00:00

[root@mylinux_01 ~]# cat /tmp/test.txt

hello

例1、在mylinux_01的/tmp目录中创建test01.txt,内容为yinhejiaoyu__001,然后再到mulinux__02主机上直接下载到本地/tmp目录。

[root@mylinux_01 ~]# echo hello_001 > /tmp/test01.txt

[root@mylinu_02 ~]# scp  root@192.168.20.7:/tmp/test01.txt   /tmp/

root@192.168.20.7's password:

test01.txt                               100%   16    17.5KB/s   00:00

[root@mylinu_02 ~]# cat /tmp/test01.txt

hello_001

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1813619.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据结构(DS)学习笔记(二):数据类型与抽象数据类型

参考教材:数据结构C语言版(严蔚敏,杨伟民编著) 工具:XMind、幕布、公式编译器 正在备考,结合自身空闲时间,不定时更新,会在里面加入一些真题帮助理解数据结构 目录 1.1数据…

【DevOps】 什么是容器 - 一种全新的软件部署方式

目录 引言 一、什么是容器 二、容器的工作原理 三、容器的主要特性 四、容器技术带来的变革 五、容器技术的主要应用场景 六、容器技术的主要挑战 七、容器技术的发展趋势 引言 在过去的几十年里,软件行业经历了飞速的发展。从最初的大型机时代,到后来的个人电脑时代,…

neo4j 3.5.5版本创建新的数据库

neo4j 3.5.5版本创建新的数据库 1.找到neo4j的conf文件 点进去 2.点击neo4j.conf 选择记事本打开 3.把graph.db换成自己想要创建的数据库名称 4.打开neo4j服务 出现新的数据库

信息系统项目管理师0151:输出(9项目范围管理—9.4收集需求—9.4.3输出)

点击查看专栏目录 文章目录 9.4.3 输出9.4.3 输出 需求文件 需求文件描述各种单一需求将如何满足项目相关的业务需求。一开始可能只有高层级的需求,然后随着有关需求信息的增加而逐步细化。只有明确的(可测量和可测试的)、可跟踪的、完整的、相互协调的,且主要干系人愿意认…

FreeRTOS学习笔记-基于stm32(14)内存管理

一、FreeRTOS 内存管理简介 FreeRTOS有两种方法来创建任务,队列,信号量等,一种动态一种静态。静态方法需要手动定义任务堆栈。使用动态内存管理的时候 FreeRTOS 内核在创建任务、队列、信号量的时候会动态的申请 RAM。 我们在移植FreeRTOS时可…

采用java+springboot+vue+uniapp自主研发的智慧城管源码,城管综合执法平台源代码

智慧城管执法平台源码,PCAPP端全套源码,城管综合执法系统源码。 智慧城管系统拥有自主版权,项目落地案例,有演示,适合二次开发项目使用。 智慧城管执法系统旨在提高城市管理效率,涵盖了城市管理中的很多业务…

RabbitMQ从入门到入土

同步与异步 同步调用 优势: 时效性强,等到结果后就返回 问题: 扩展性差 性能下降 级联失败问题 异步调用 优势: 耦合度低,扩展性强 无需等待,性能好 故障隔离,下游服务故障不影响上游 缓…

探索乡村振兴新模式:发挥科技创新在乡村振兴中的引领作用,构建智慧农业体系,助力美丽乡村建设

随着科技的不断进步,乡村振兴工作正迎来前所未有的发展机遇。科技创新作为推动社会发展的重要力量,在乡村振兴中发挥着越来越重要的引领作用。本文旨在探讨如何发挥科技创新在乡村振兴中的引领作用,通过构建智慧农业体系,助力美丽…

汉语翻译藏语的软件,有3款宝藏软件!

在数字化飞速发展的今天,语言不再是沟通的障碍。对于想要学习藏语或需要与藏区人民交流的朋友们来说,一款优质的汉语翻译藏语的软件无疑是一大福音。那么,市面上究竟有哪些值得推荐的汉语翻译藏语的软件呢?接下来,就让…

PostgreSQL 快速入门与实战

1、概述 前面2篇博客给大家详细的介绍了PostgreSQL的安装和配置,本篇文章就带着大家一起学习一下PostgreSQL的用法,主要内容包括 基本的数据库操作、用户管理、数据备份、SCHEMA(模式)以及和MySQL的区别。 2、数据库基本操作 PostgreSQL是严格遵守SQL规…

C# Winform内嵌窗体(在主窗体上显示子窗体)

在开发Winform项目中,经常会要切换不同的窗体。通常程序都有一个主窗体,在切换窗体时往往需要关闭其他子窗体,这个实例就来介绍MDI主窗体内嵌子窗体的实现方法。 MDI主窗体要设置一个比较重要的属性,IsMdiContainertrue。子窗体的…

boost asio异步服务器(3)增加发送队列实现全双工通信

增加发送节点 构造发送节点,管理发送数据。发送节点的类如下。 这个发送节点用于保证发送和接收数据的有效性。 增加发送队列 前边实现的是一个简单的echo服务器,也就是服务器将收到的内容发送给对应的客户端。但是在实际的服务器设计中,服务…

苹果WWDC 2024 带来的 AI 风暴:从生产力工具到个人助理,AI 将如何融入我们的生活?

2024年6月5日,苹果WWDC 2024全球开发者大会如约而至,带来了众多令人兴奋的新功能和新产品。其中,AI 技术的全面融入无疑是最引人注目的亮点。从 iOS、iPadOS 到 macOS,再到 Siri 和开发者工具,苹果正在将 AI 融入到其生…

数字孪生技术推动希腊水务系统的技术进步

OpenFlows 提供的数字孪生技术将科扎尼供水渗漏的响应时间缩短了 50% 引领希腊供水管理改革 新冠疫情之后,希腊制定国家经济复苏计划,旨在推动能源改革、数字化和现代化,作为计划的一部分,希腊正试图实现可持续的给排水管理&…

Qt | openSSL将TCP数据进行不对称(RSA)加密传输-windows平台实操(可行)

01、windows平台工具准备 QtQt5.14.2openSSL下载(选择适合自己的版本即可)https://slproweb.com/products/Win32OpenSSL.htmlTCP调试助手调试助手02、简介 首先简单介绍一下openssl。接着描述如何在windo

龙芯+RT-Thread+LVGL实战笔记(36)——密码锁完善

【写在前面】不知不觉中,又临近学期末了。这个学期,因为一些特殊原因,一直没怎么更新本教程,而且不得已上调了本教程的价格,在此笔者深表歉意。另一方面,自己带的学生发挥不佳,很遗憾未能闯进国赛,为此笔者也郁闷了相当长一段时间。事已至此,也只能慢慢释然,来年再战…

AI网络爬虫:批量爬取AI导航网站Futurepedia数据

Futurepedia致力于使AI技术对各行各业的专业人士更加可理解和实用,提供全面的AI网站和工具目录、易于遵循的指南、每周新闻通讯和信息丰富的YouTube频道,简化AI在专业实践中的整合。如何把Futurepedia上的全部AI网站数据爬取下来呢? 网站一页…

[大模型]LLaMA3-8B-Instruct langchain 接入

环境准备 在 Autodl 平台中租赁一个 3090 等 24G 显存的显卡机器,如下图所示镜像选择 PyTorch-->2.1.0-->3.10(ubuntu22.04)-->12.1 接下来打开刚刚租用服务器的 JupyterLab,并且打开其中的终端开始环境配置、模型下载和运行演示。 pip 换…

一款优秀的下载和共享工具

一、简介 1、它以舒适和快速的方式下载Internet文件,同时支持断点续传和嗅探视频音频的功能。 它具有站点抓取、批量下载队列和计划任务下载等功能,可以接管所有浏览器的下载任务,包括Edge,Firefox和Chrome等主流浏览器。 对于用…

MAC认证

简介 MAC认证是一种基于接口和MAC地址对用户的网络访问权限进行控制的认证方法,它不需要用户安装任何客户端软件。设备在启动了MAC认证的接口上首次检测到用户的MAC地址以后,即启动对该用户的认证操作。认证过程中,不需要用户手动输入用户名…