Linux入门详解 (19)

   我们打开了BASE这个网络仓库,节选代码:

#released updates [updates] name=CentOS-$releasever - Updates mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

   我们随便复制一个baseurl并对其进行访问,来看一下有没有repodata和PackAges目录:

baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/ 进行模板转换: baseurl=http://mirror.centos.org/centos/7/updates/x86_64/ # $contentdir --> 系统版本,如centos-7 # $releasever --> 详细版本,如7 # $basearch --> 平台架构,如x86_64

   可以看到是有的。

  

image-20210201204226631

   配置yum下载目录

   通过网路查找依赖关系:repodata/repomd.xml后就可以进入Packages进行安装。那么网络上rpm安装包肯定是要下载到本地后在进行安装的。可以通过/etc/yum.conf来配置它默认下载的路径和完成安装后是否清理安装包的选项。

vim /etc/yum.conf

   打开文件的第一行,可以设置安装包下载路径,第二行如果设置成1就代表完成安装后不清理安装包而是保存。

SSH服务 基本介绍

   我们知道,对于服务器来说一般都是存在远端。当服务器发生异常之后我们需要使用一款软件对其服务器进行远程操控排除异常,那么在Linux中都自带了这样的一款软件,名为ssh。

   这是一款C/S架构软件,Linux系统拥有它的Client端和Server端,使用如下命令可查看到ssh服务依赖的安装程序:

[yunya@localhost network-scripts]$ rpm -qa | grep 'openssh' openssh-server-6.6.1p1-31.el7.x86_64 openssh-clients-6.6.1p1-31.el7.x86_64 openssh-6.6.1p1-31.el7.x86_64

   查看sshd(服务端)运行状态:

[yunya@localhost network-scripts]$ service sshd status Redirecting to /bin/systemctl status sshd.service ● sshd.service - OpenSSH server daemon Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled) Active: active (running) since 二 2021-02-09 20:44:32 CST; 42min ago Docs: man:sshd(8) man:sshd_config(5) Process: 1050 ExecStart=http://www.likecs.com/usr/sbin/sshd $OPTIONS (code=exited, status=0/SUCCESS) Main PID: 1078 (sshd) CGroup: /system.slice/sshd.service └─1078 /usr/sbin/sshd [yunya@localhost network-scripts]$

   使用ssh(客户端命令)链接远程服务器,推荐软件:Xshell/putty/secureCRT/VNC等,这里我采用git的命令行工具,它也提供了ssh客户端。

   以下示例中,我是物理机链接虚拟机Centos7.3:

$ ssh 192.168.0.101 The authenticity of host '192.168.0.101 (192.168.0.101)' can't be established. ECDSA key fingerprint is SHA256:LqrxiB4AbXC1dXX6Lew7kAjbihBXRh8MTu1y7Dl36+A. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added '192.168.0.101' (ECDSA) to the list of known hosts. yunya@192.168.0.101's password: Last login: Tue Feb 9 20:45:03 2021 [yunya@localhost ~]$ su root 密码: [root@localhost yunya]# cd / [root@localhost /]# ls 1 boot etc lib media opt root sbin sys usr bin dev home lib64 mnt proc run srv tmp var [root@localhost /]# 工作机制

   服务器启动的时候自己产生一个密钥(768bit公钥),本地的ssh客户端发送连接请求到ssh服务器,服务器检查连接点客户端发送的数据和IP地址,确认合法后发送密钥(768bits)给客户端,此时客户端将本地私钥(256bit)和服务器的公钥(768bit)结合成密钥对key(1024bit),发回给服务器端,建立连接通过key-pair数据传输。

  

img

   客户端主动联机请求:

   若客户端想要联机到 ssh 服务器,则需要使用适当的客户端程序来联机,包括 ssh, putty 等客户端程序连接。

   服务器传送公钥给客户端:

   接收到客户端的要求后,服务器便将第一个步骤取得的公钥传送给客户端使用 (此时应是明码传送,反正公钥本来就是给大家使用的)。

   客户端记录并比对服务器的公钥数据及随机计算自己的公私钥:

   若客户端第一次连接到此服务器,则会将服务器的公钥记录到客户端的用户家目录内的 ~/.ssh/known_hosts 。若是已经记录过该服务器的公钥,则客户端会去比对此次接收到的与之前的记录是否有差异。若接受此公钥, 则开始计算客户端自己的公私钥。

   回传客户端的公钥到服务器端:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpjxxz.html