linux
pmap是什么证书?
一、pmap是什么证书?
应该是map证书。参加考试认证合格者,由英国专业管理考试委员会APMI颁发《管理会计师(专业级MAP)资格证书》;荷兰欧洲商学院还将同时颁发《管理会计师(专业级MAP)国际研修证书》并为学员注册永久学籍。两本证书将作为管理会计师专业人才从业技能的重要依据。
二、内存的映射与pmap是什么?
用manpmap查看帮助,
pmap-reportmemorymapofaprocess
-xextendedShowtheextendedformat.
可见,pmap可用来获取一个指定进程的内存映射表,-x选项的含义是指明以详细格式显示这些信息。
tail-1就是提取所以这些pmap返回信息的最后一行(tail就是尾巴的意思啊)。你可以试试在命令行里敲pmap-x13894这个命令,回显信息的最后一行就是total的内存统计信息。
用一个while循环来不断检测,其实就是在一直监视着13894这个进程的内存占用情况。
三、linux服务之OpenSSH服务?
OpenSSH这一术语指系统中使用的Secure Shell软件的软件实施。用于在远程系统上安全运行shell。如果您在可提供ssh服务的远程Linux系统中拥有用户帐户,则ssh是通常用来远程登录到该系统的命令。ssh命令也可用于在远程系统中运行命令。
常见的远程登录工具有:
telnet
ssh
dropbear
telnet //远程登录协议,23/TCP//一般用于测试端口或者接口是否开启
认证明文
数据传输明文
ssh //Secure SHell,应用层协议,22/TCP
通信过程及认证过程是加密的,主机认证
用户认证过程加密
数据传输过程加密
dropbear //嵌入式系统专用的SSH服务器端和客户端工具,一般应用于手机上
1.2 SSH 版本
openssh有两个版本,分别为v1和v2,其特点如下:
v1:基于CRC-32做MAC,无法防范中间人攻击
v2:双方主机协议选择安全的MAC方式。基于DH算法做密钥交换,基于RSA或DSA算法实现身份认证
关于密钥交换
协商生成密码的过程叫做密钥交换(Internet Key Exchange,IKE)使用的是DH协议(Diffie-Hellman):
A(主机) --> B(主机)
p,g(大素数,生成数),在网络中传输的,公开的
A:自己取一个随机数x
B:自己取一个随机数y
A:g^x%p --> B
B:g^y%p --> A
A:(g^y%p)^x=g^yx%p
B:(g^x%p)^y=g^xy%p
这最后得出的g^xy%p就是最终的密钥
1.3 SSH 认证方式
openssh有两种认证方式,分别是:
基于口令认证(即密码认证)
基于密钥认证(非对称加密。有一对密钥,公钥(P)和私钥(S))
1.4 openSSH 的工作模式
openSSH是基于C/S架构工作的
服务器端 //sshd,配置文件在/etc/ssh/sshd_config
[root@CTL .ssh]# vim /etc/ssh/sshd_config
# $OpenBSD: sshd_config,v 1.100 2016/08/15 12:32:04 naddy Exp $
# This is the sshd server system-wide configuration file. See
# sshd_config(5) for more information.
# This sshd was compiled with PATH=/usr/local/bin:/usr/bin
# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented. Uncommented options override the
# default value.
# If you want to change the port on a SELinux system, you have to tell
# SELinux about this change.
# semanage port -a -t ssh_port_t -p tcp #PORTNUMBER
#
#Port 22
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
.
.
.
# Example of overriding settings on a per-user basis
#Match User anoncvs
# X11Forwarding no
# AllowTcpForwarding no
# PermitTTY no
# ForceCommand cvs server
客户端
//ssh,配置文件在/etc/ssh/ssh_config
ssh-keygen //密钥生成器
ssh-copy-id //将公钥传输至远程服务器
scp //跨主机安全复制工具
$OpenBSD: ssh_config,v 1.30 2016/02/20 23:06:23 sobrado Exp $
# This is the ssh client system-wide configuration file. See
# ssh_config(5) for more information. This file provides defaults for
# users, and the values can be changed in per-user configuration files
# or on the command line.
# Configuration data is parsed as follows:
# 1. command line options
# 2. user-specific file
# 3. system-wide file
# Any configuration value is only changed the first time it is set.
# Thus, host-specific definitions should be at the beginning of the
# configuration file, and defaults at the end.
# Site-wide defaults for some commonly used options. For a comprehensive
# list of available options, their meanings and defaults, please see the
# ssh_config(5) man page.
# Host *
# ForwardAgent no
# ForwardX11 no
# RhostsRSAAuthentication no
# RSAAuthentication yes
# PasswordAuthentication yes
.
.
.
# Send locale-related environment variables
SendEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
SendEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
SendEnv LC_IDENTIFICATION LC_ALL LANGUAGE
SendEnv XMODIFIERS
1.5 Secure Shell 示例
//以当前用户身份创建远程交互式shell,然后在结束时使用exit命令返回到之前的shell
[root@CTL .ssh]# ssh 192.168.112.131
The authenticity of host '192.168.112.131 (192.168.112.131)' can't be established.
//生成了一个算法是SHA256得公钥
ECDSA key fingerprint is SHA256:dyCibeKTgTQDtKrGgYAKVnGsLcR/Necufp4Jvnx0cTc.
ECDSA key fingerprint is MD5:bb:a6:d4:16:be:40:d1:d9:ef:6b:89:c9:22:bb:bd:b0.
//问你是否信任所连接得主机,不信任则不连接
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.112.131' (ECDSA) to the list of known hosts.
root@192.168.112.131's password:
Last login: Mon Apr 1 14:24:13 2019 from 192.168.112.14
//此时从用户名得知已经登陆到另一台主机
[root@GUI ~]#
//以其他用户身份(remoteuser)在选定主机(remotehost)上连接到远程`shell`
[root@CTL .ssh]# ssh root@192.168.112.131
root@192.168.112.131's password:
Last login: Mon Apr 1 14:24:54 2019 from 192.168.112.14
[root@GUI ~]#
//以远程用户身份(remoteuser)在远程主机(remotehost)上通过将输出返回到本地显示器的方式来执行单一命令
//首先登陆一台主机查看自己IP
[root@GUI .ssh]# ip a s ens33
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 00:0c:29:8e:77:9b brd ff:ff:ff:ff:ff:ffinet 192.168.112.131/24 brd 192.168.112.255 scope global dynamic ens33valid_lft 1191sec preferred_lft 1191secinet6 fe80::bc68:f1a3:4a1f:87fb/64 scope link
valid_lft forever preferred_lft forever
//在用另一台主机通过ssh来远程执行命令
[root@CTL .ssh]# ssh root@192.168.112.131 '/usr/sbin/ip a s ens33'
root@192.168.112.131's password:
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 00:0c:29:8e:77:9b brd ff:ff:ff:ff:ff:ffinet 192.168.112.131/24 brd 192.168.112.255 scope global dynamic ens33valid_lft 1783sec preferred_lft 1783secinet6 fe80::bc68:f1a3:4a1f:87fb/64 scope link
valid_lft forever preferred_lft forever
[root@CTL .ssh]#
//w命令可以显示当前登录到计算机的用户列表。这对于显示哪些用户使用ssh从哪些远程位置进行了登录以及执行了何种操作等内容特别有用
[root@CTL .ssh]# ssh 192.168.112.131
root@192.168.112.131's password:
Last login: Mon Apr 1 14:30:57 2019 from 192.168.112.14
//在切换到GUI主机使用w命令查看 可以看到192.168.112.14用户在登陆中
[root@GUI .ssh]# w14:40:59 up 4:37, 2 users, load average: 0.00, 0.02, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 192.168.112.1 10:03 3.00s 0.17s 0.01s w
root pts/1 192.168.112.14 14:40 2.00s 0.03s 0.03s -bash
1.5 SSH 主机密钥
ssh通过公钥加密的方式保持通信安全。当某一ssh客户端连接到ssh服务器时,在该客户端登录之前,服务器会向其发送公钥副本。这可用于为通信渠道设置安全加密,并可验证客户端的服务器。
当用户第一次使用ssh连接到特定服务器时,ssh命令可在用户的/.ssh/known_hosts文件中存储该服务器的公钥。在此之后每当用户进行连接时,客户端都会通过对比/.ssh/known_hosts文件中的服务器条目和服务器发送的公钥,确保从服务器获得相同的公钥。如果公钥不匹配,客户端会假定网络通信已遭劫持或服务器已被入侵,并且中断连接。
这意味着,如果服务器的公钥发生更改(由于硬盘出现故障导致公钥丢失,或者出于某些正当理由替换公钥),用户则需要更新其~/.ssh/known_hosts文件并删除旧的条目才能够进行登录。
//主机ID存储在本地客户端系统上的 ~/.ssh/known_hosts 中(家目录中的隐藏目录.ssh)
[root@CTL ~]# cat /root/.ssh/known_hosts
192.168.112.131 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJvfkdzYN1ayz0bbvSc5be4/rddT4r2q/DfLo6VtruJgNNsexqi5GzSJ7AGB1kECRSw4/eg1Z11x05bGjRJfL+8=
//主机密钥存储在SSH服务器上的 /etc/ssh/ssh_host_key* 中(也就是不手动生成密钥的情况下会自动使用这里的密钥)
[root@CTL ~]# ls /etc/ssh/*key*
/etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ed25519_key /etc/ssh/ssh_host_ed25519_key.pub /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_rsa_key.pub
2. 配置基于 SSH 密钥的身份验证
用户可通过使用公钥身份验证进行ssh登录身份验证。ssh允许用户使用私钥-公钥方案进行身份验证。这意味着将生成私钥和公钥这两个密钥。私钥文件用作身份验证凭据,像密码一样,必须妥善保管。公钥复制到用户希望登录的系统,用于验证私钥。公钥并不需要保密。拥有公钥的ssh服务器可以发布仅持有您私钥的系统才可解答的问题。因此,可以根据所持有的密钥进行验证。如此一来,就不必在每次访问系统时键入密码,但安全性仍能得到保证。
使用ssh-keygen命令生成密码。将会生成私钥/.ssh/id_rsa和公钥/.ssh/id_rsa.pub。
//使用ssh-keygen生成密钥时首先会询问你密钥文件存放的位置,默认是在/root/.ssh/id_rsa和id_rsa.pub
[root@CTL ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
//接着会询问你是否为你的私钥配置密码
Enter passphrase (empty for no passphrase):
//最后会提示你密钥创建成功,私钥存放在id_rsa,公钥放在id_rsa.pub
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:XFV5J+RPAuuHQZBipB8yUyQ22/QAOWT+z2Tsi+cJcpw root@CTL
The key's randomart image is:
//RSA算法密钥一般为2048位
+---[RSA 2048]----+
| .B=* .o+oo. |
| +oOoo.o +o o|
| Boo.o o ooo|
| B + . o + |
| S + o . .|
| . B . |
| . E + |
| o o.o |
| .o+ |
+----[SHA256]-----+
注意:
生成密钥时,系统将提供指定密码的选项,在访问私钥时必须提供该密码。如果私钥被偷,除颁发者之外的其他任何人很难使用该私钥,因为已使用密码对其进行保护。这样,在攻击者破解并使用私钥前,会有足够的时间生成新的密钥对并删除所有涉及旧密钥的内容。
四、linux学习之centos
Linux学习之CentOS,CentOS是一种基于Red Hat Enterprise Linux(RHEL)源代码构建的开源操作系统。它是一种自由的、基于社区的企业级Linux发行版,可以免费使用且源代码可公开获取。CentOS是许多人学习Linux的首选之一,因为它稳定、可靠且具有广泛的应用范围。
CentOS的特点
- 稳定性: CentOS以其出色的稳定性而闻名。它是经过严格测试和验证的,可用于各种生产环境,确保系统运行平稳、可靠。
- 安全性: CentOS提供了强大的安全功能,包括防火墙设置、安全加固、定期更新等,以确保系统数据不受威胁。
- 易用性: CentOS的用户界面友好,使得即使是初学者也能轻松上手,快速掌握系统操作技巧。
- 开源性: CentOS作为开源软件,所有源代码均可免费获取,用户可以根据自己的需求对系统进行定制和修改。
CentOS的学习路径
要深入学习Linux系统,并掌握CentOS的应用,可以沿着以下学习路径进行学习:
1. 基础知识学习
- 学习Linux的基本概念、命令行操作、文件系统等基础知识。
- 了解CentOS的特点、安装方法以及常见应用场景。
2. 系统配置与管理
- 学习CentOS系统的配置管理、用户管理、权限管理等内容。
- 掌握网络配置、服务管理等系统管理技能。
3. 服务搭建与应用
- 学习如何搭建Web服务器、数据库服务器等常见服务。
- 了解CentOS下常用应用的安装与配置方法。
4. 故障排除与优化
- 学习系统故障排除的方法和技巧,提高系统的稳定性。
- 了解系统优化的手段,提升系统性能和安全性。
学习资源推荐
对于想要学习Linux及CentOS的读者,以下资源值得推荐:
- 官方文档: CentOS官方网站提供了详尽的文档和指南,涵盖了系统安装、配置、管理等方方面面。
- 在线课程: 有许多在线教育平台提供针对Linux和CentOS的教学课程,可以选择适合自己的课程进行学习。
- 实践项目: 尝试搭建一个个人网站、搭建一个数据库服务器等实践项目,可以帮助巩固所学知识。
结语
Linux学习之路漫长而充实,而CentOS作为Linux的重要分支,具有广泛的应用前景。掌握Linux和CentOS的技能不仅可以提升个人能力,还有助于在IT行业中脱颖而出。希望通过本文的介绍,读者能够更加深入地了解Linux学习之路,并能够在学习过程中取得更大的成就。
五、linux学习之centos三十
深入探讨Linux学习之CentOS 30
在当今数字化时代,Linux作为一种开放源代码的操作系统,正备受关注。对于想要深入了解Linux的人来说,CentOS是一个非常不错的选择之一。本篇文章将从各个方面深入探讨Linux学习之CentOS 30,帮助读者更好地理解这一操作系统。
CentOS简介
CentOS是一种基于开放源代码的企业级Linux发行版,它源自于Red Hat Enterprise Linux。由于CentOS严格遵循了Red Hat Enterprise Linux的源代码,因此可以说是其克隆版。CentOS以其稳定性、安全性和长期支持而闻名,是许多企业和个人用户的首选。
为什么选择CentOS 30
在众多Linux发行版中,为什么选择CentOS 30呢?首先,CentOS提供了长期支持,这意味着用户可以在较长的时间内获得更新和维护。其次,CentOS的安全性备受信赖,可以保障用户数据的安全。此外,CentOS还具有社区支持和广泛的应用程序支持,为用户提供了更多的选择和灵活性。
CentOS 30的特点
了解一个操作系统的特点对于掌握它至关重要。CentOS 30具有许多突出的特点,如:
- 长期支持:CentOS 30提供长达十年的支持周期,确保用户可以长期稳定地运行系统。
- 安全性:CentOS 30拥有强大的安全功能,包括内置的防火墙和加密功能,保护用户数据的安全。
- 稳定性:CentOS 30经过严格测试和稳定性验证,确保系统可以可靠地运行。
- 易用性:CentOS 30提供了友好的用户界面和详细的文档,使用户可以轻松上手。
如何开始在CentOS 30上学习Linux
对于想要开始在CentOS 30上学习Linux的人来说,以下步骤将帮助你快速入门:
- 下载CentOS 30:首先,您需要从官方网站下载CentOS 30的镜像文件,并将其安装到您的计算机上。
- 熟悉基本命令:在CentOS 30上学习Linux,您需要熟悉一些基本的命令,如ls、cd、mkdir等,这些命令将是您日常操作的基础。
- 学习系统管理:了解Linux系统的基本管理是必不可少的,包括用户管理、文件权限管理、进程管理等。
- 尝试搭建服务器:在CentOS 30上搭建服务器是学习Linux的一个很好的实践方式,您可以尝试搭建Web服务器、数据库服务器等。
- 参与社区:加入CentOS 30的社区可以让您获得更多学习资源和帮助,与其他Linux爱好者交流经验。
结语
总的来说,Linux学习之CentOS 30是一个非常值得推荐的选择。通过学习CentOS 30,您可以了解Linux操作系统的基本知识和技能,为今后的发展打下坚实基础。希望本文能够帮助您更深入地了解CentOS 30,并在Linux学习之路上取得更大的进步。
六、linux三剑客之awk详解?
awk是一种强大的文本处理工具,是linux系统中的三剑客之一(另外两个是grep和sed)。它可以用来对文本文件进行处理、提取信息和转换数据。awk的功能非常强大,可以实现复杂的文本处理任务。以下是一些awk的基本用法和常见的应用场景:1. 基本语法: awk的基本语法是`awk 'pattern { action }' file`,其中pattern是一个模式,用来匹配输入文本中的行,action是一些操作,用来对匹配的行执行一些操作。2. 默认行为: 如果没有指定pattern和action,awk会默认执行一个操作,即打印输入的每一行。因此,`awk '{ print }' file`等同于`cat file`。3. 指定字段: awk默认以空格作为字段分隔符,可以使用`-F`选项指定其他字段分隔符。例如,`awk -F',' '{ print $1 }' file`会以逗号作为字段分隔符,并打印每行的第一个字段。4. 条件匹配: 可以在pattern中使用条件匹配,例如,`awk '$3 > 10 { print $0 }' file`会打印file中第三列大于10的行。5. 内置变量: awk提供了一些内置变量,可以用于访问输入行和字段等信息。例如,`NF`表示当前行的字段数,`NR`表示当前行的行号,`$0`表示整行,`$1`表示第一个字段,依此类推。6. 打印输出: awk的最常用的操作之一是打印输出。可以使用`print`语句打印指定的字段或整行。例如,`awk '{ print $2 }' file`会打印每行的第二个字段。7. 数学计算: awk可以进行基本的数学计算,包括加减乘除和求余数等操作。例如,`awk '{ print $1 + $2 }' file`会打印每行的第一和第二个字段的和。8. 数据格式化: awk可以用来对输出进行格式化。可以使用`printf`函数指定格式化字符串和参数。例如,`awk '{ printf "%-10s %5d\n", $1, $2 }' file`会按照指定的格式打印每行的第一个字段和第二个字段。以上是awk的一些基本用法和常见的应用场景。awk具有非常丰富的功能和灵活性,可以根据具体的需求进行高级的文本处理操作。
七、linux之vim怎么跳到指定的一行?
比如我们要跳到文件的80行,输入下面命令
80gg
也可以用G代替gg
80G
我们知道下面这个命令是跳到第一行
gg
八、Linux--Arch Linux安装?
原来默认是编译适合编译的主机运行的二进制文件,改为"ARCH=arm""CROSS_COMPILE = arm-linux-"表示用交叉编译工具
九、Linux运维技巧之图文详解
Linux运维技巧之图文详解
Linux操作系统广泛应用于服务器和嵌入式设备,它的开源性使得它成为了开发者和运维人员的首选操作系统。通过图文详解,本文将介绍一些常见的Linux运维技巧,帮助读者轻松解决常见的运维问题。
1. 图片文件的处理
Linux提供了丰富的命令行工具来处理图像文件。比如,ImageMagick工具集提供了各种功能强大的命令行工具,可以对图片进行裁剪、缩放、转换格式等操作。此外,GIMP是一款功能强大的开源图像编辑软件,也可以帮助运维人员进行图像处理。
2. 图标的设计与制作
在Linux系统中,图标是用户界面的重要组成部分。通过Inkscape工具,运维人员可以设计和制作自定义图标,以满足不同用户的需求。此外,还可以通过Icon Themes来修改系统默认图标,让系统更加个性化。
3. 网络拓扑图的绘制
运维人员常常需要绘制网络拓扑图以便更好地管理网络设备和服务。在Linux系统中,可以使用Draw.io、Lucidchart等在线绘图工具来绘制网络拓扑图,也可以使用dia、yEd等桌面应用程序来完成绘图任务。
4. 数据可视化
数据可视化在运维工作中起着重要的作用,可以帮助运维人员更好地理解和分析数据。在Linux系统中,可以使用Gnuplot、Matplotlib等工具对数据进行可视化处理,生成各种图表和图形,以便更好地展示数据。
5. 其他图片相关工具
除了上述提到的工具,Linux系统还提供了许多其他图片相关工具。比如,Shotwell是一款用于管理和编辑照片的应用程序,LibreOffice Draw是一款强大的矢量图形编辑软件,Evince是一款用于阅读和打印文档的软件。
通过本文的图文详解,读者可以了解到Linux运维领域中常用的图片处理工具和技巧,帮助他们更好地进行Linux系统的运维工作。祝愿读者们在运维实践中取得好的成效!感谢您的阅读。
十、探索Linux运维之美——山河玩转Linux运维技术
Linux运维技术的重要性
在当今信息化社会,Linux作为一种开源操作系统,被广泛应用于各个领域,尤其在服务器领域表现突出。因此,掌握和运用好Linux运维技术已变得至关重要。
Linux运维技术的基础知识
要想在Linux运维领域获得成功,首先需要了解Unix/Linux操作系统的基础知识。这包括文件系统管理、用户和组管理、权限管理、磁盘管理、网络配置等。只有扎实的基础知识,才能更好地进行运维工作。
Linux运维技术的核心内容
Linux运维技术的核心内容包括系统安装与部署、系统性能调优、故障排除与恢复、安全加固与防护等。这些内容涉及到各个方面的知识和技能,需要运维工程师具备扎实的实战经验和解决问题的能力。
山河玩转Linux运维技术
在Linux运维技术的学习和实践中,山河作为一家领先的互联网公司,通过其丰富的经验和深厚的技术功底,为大家提供了许多宝贵的经验和技巧。他们不仅分享了大量的Linux运维实战经验,还推动了其它公司的技术创新。
Linux运维技术的未来发展
随着云计算、大数据、人工智能等技术的快速发展,Linux运维技术也必将迎来全新的发展机遇。未来,我们将看到更多更先进的技术和工具应用于Linux运维领域,这也将给我们带来更多的学习和实践机会。
感谢您阅读本文,希望通过本文的阅读,您能更深入地了解Linux运维技术,并从中获得实际的帮助。
热点信息
-
在Python中,要查看函数的用法,可以使用以下方法: 1. 使用内置函数help():在Python交互式环境中,可以直接输入help(函数名)来获取函数的帮助文档。例如,...
-
一、java 连接数据库 在当今信息时代,Java 是一种广泛应用的编程语言,尤其在与数据库进行交互的过程中发挥着重要作用。无论是在企业级应用开发还是...
-
一、idea连接mysql数据库 php connect_error) { die("连接失败: " . $conn->connect_error);}echo "成功连接到MySQL数据库!";// 关闭连接$conn->close();?> 二、idea连接mysql数据库连...
-
要在Python中安装modbus-tk库,您可以按照以下步骤进行操作: 1. 确保您已经安装了Python解释器。您可以从Python官方网站(https://www.python.org)下载和安装最新版本...