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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

BitSet位图进行去重海量数据

问题 怎么在40亿个整数中找到唯一重复的数字? 1.Set的不可重复性 if(set.contains(x))System.out.println("重复的数字是"x);else{set.add(x);}但是,contains()方法消耗的时间,消耗的空间很大,毕竟有约40亿的数据,所…

Vue--》打造细腻颗粒感 —— 细分组件颗粒图

写文背景:当涉及到前端开发时,我们经常会发现自己在不同的组件中复用相似的逻辑,在过去我们可能会通过混入、高阶组件或者全局组件等方式来实现代码的复用;或者一个组件逻辑太多,写出了超多的响应式ref数据和五花八门的…

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

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

华为鲲鹏应用开发基础:鲲鹏处理器及关键硬件特性介绍(二)

1. 鲲鹏简介 1.1 鲲鹏处理器简介 鲲鹏处理器是华为自研的基于ARMv8指令集开发的数据中心级处理器 1.2 基于鲲鹏主板的多样化计算产品 1.3 基于鲲鹏920的华为TaiShan(泰山) 200服务器 1.3.1 TaiShan 2280服务器内部视图 1.3.2 TaiShan 2280服务器物理结构 1.3.3 TaiShan 2280服…

【Java】解决Java报错:IOException during File Operations

文章目录 引言一、IOException的定义与概述1. 什么是IOException?2. IOException的常见触发场景3. 示例代码 二、解决方案1. 检查文件是否存在2. 使用try-with-resources语句3. 捕获和处理IOException4. 使用NIO进行文件操作 三、最佳实践1. 检查文件状态2. 使用try…

缓冲区的奥秘:解析数据交错的魔法

目录 一、理解缓存区的好处 (一)直观性的理解 (二)缓存区的好处 二、经典案例分析体会 (一)文件读写流(File I/O Buffering) BufferedOutputStream 和 BufferedWriter 可以加快…

四川古力未来科技抖音小店打造品质生活,可靠之选引领潮流

在当今数字化快速发展的时代,电商平台如雨后春笋般涌现,抖音小店作为其中的佼佼者,凭借其独特的短视频电商模式,迅速吸引了大批年轻消费者的目光。而在众多的抖音小店中,四川古力未来科技抖音小店凭借其卓越的品质和专…

数字时代网络安全即服务的兴起

在日益数字化的世界里,威胁形势不断演变,网络攻击变得越来越复杂和频繁。当组织努力保护敏感数据并保持运营完整性时,传统的网络安全措施往往不够。 这为更具动态性和可扩展性的解决方案铺平了道路:网络安全即服务 (CSaaS)。网络…

数据结构---排序算法

个人介绍 hello hello~ ,这里是 code袁~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹 🦁作者简介:一名喜欢分享和记录学习的…

【短剧看剧系统之投流版】短剧看剧系统功能更新,前端uniapp搭建开发

目录 一、常规款短剧系统和投流版的区别? 二、后端体系 1.管理端: 2.代理投流端 三、功能区别 总结: 前言: 短剧看剧系统目前在抖音端是比较热门的,最重要的功能就是可以接入第三方cps,包含类目报白…

如何将JPG/PNG位图免费快速一键转换成SVG格式的矢量图

环境: JPG/PNG位图 问题描述: 如何将JPG/PNG位图快速一键转换成SVG格式的矢量图 解决方案: 是一个人工智能驱动的图片转换工具,可以帮助用户将」JPG/PNG位图快速转换成SVG格式的矢量图,方便设计人员对图片进行二次…

AIGC提示词---如何写提示词?

你真的了解你的AI助手吗? 想象一下,你和别人使用相同的AI工具,但为何他的工作效率总是高出一截?秘诀可能就藏在那些看似简单的提示词里。精准的提示词是解锁AI潜能的关键,它们能让AI更好地理解你的需求,从…

【AI大模型】Transformers大模型库(八):大模型微调之LoraConfig

目录 一、引言 二、LoraConfig配置参数 2.1 概述 2.2 LoraConfig参数说明 2.3 代码示例 三、总结 一、引言 这里的Transformers指的是huggingface开发的大模型库,为huggingface上数以万计的预训练大模型提供预测、训练等服务。 🤗 Transformers …

Spring中事务的隔离级别和传播机制

上一篇博客中讲解了关于事务的两种使用方式包括Transactional的详解。 Transactional 注解当中的三个常⻅属性: 1. rollbackFor: 异常回滚属性. 指定能够触发事务回滚的异常类型. 可以指定多个异常类型 2. Isolation: 事务的隔离级别. 默认值为 Isolation.DEFAULT 3. propagat…

原腾讯云副总裁张纾翔加入矩阵起源,共筑人工智能新篇章

近日,原腾讯云副总裁张纾翔先生正式加入矩阵起源,担任合伙人兼高级副总裁,全面负责矩阵起源商业化工作。 矩阵起源成立于2021年。公司创始团队来自腾讯云、Snowflake等国内外一流的互联网企业、软件公司、数字化企业和开源社区,核…

什么是PMP,含金量高吗?

01PMP是什么? PMP(Project Management Professional)是项目管理领域的高级认证,它被PMI在全球200多个国家和地区广泛推广,被视为项目管理领域内最具含金量的认证之一。持有PMP证书的项目经理不仅能提升其项目管理能力,同时也显著…

数据结构---力扣225.用队列实现栈(C

1.链接:. - 力扣(LeetCode)【点击即可跳转】 思路: 栈 是 后进先出 队列 是 先进先出 (始终保持一个队列为空的思路) 入数据: 往 不为空的队列 中入 出数据: 把不为空的队列数…

C#完整服务器

控件&#xff1a;三个按钮&#xff0c;输入框&#xff0c;文件框(richTextBox) 打开服务器按钮方法 Socket socket;// 服务器对象Dictionary<string,Socket> dic new Dictionary<string,Socket>();// 存储客户端对象// 打开服务器private void button1_Click(obje…

uniapp自定义tabbar——中间特殊按钮放大

在APP.vue里面 .uni-tabbar__item:nth-child(4) .uni-tabbar__icon {width: 50px !important;height: 50px !important;position: relative;bottom: 30rpx;}.uni-tabbar__item:nth-child(4) .uni-tabbar__label {position: relative;bottom: 25rpx;}

uniapp地图选择位置

直接上代码 通过一个点击事件调用官方api即可调用 点击调用成功后显示如下 然后选择自己所需要的位置即可