失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Linux的进程管理 ssh创建远程连接与免密操作 文件传输 虚拟机联网

Linux的进程管理 ssh创建远程连接与免密操作 文件传输 虚拟机联网

时间:2024-04-08 22:55:31

相关推荐

Linux的进程管理 ssh创建远程连接与免密操作 文件传输 虚拟机联网

Linux的进程管理,ssh创建远程连接与免密操作,文件传输,虚拟机联网

Linux的进程管理

1.进程

进程 : 程序被触发后 , 执行者的权限与属性、程序的程序码与所需数据等都会被载入内存中 , 操作系统并给予这个内存内的单元一个识别码 (PID), 可以说 , 进程就是一个正在运行中的程序。

2.进程的状态

R (Running): 该程序正在运行中 ;

S (Sleep): 该程序目前正在睡眠状态 (idle), 但可以被唤醒(signal) 。

D 不可被唤醒的睡眠状态 , 通常进程可能在等待 I/O 的情况。

T 停止状态 (stop), 可能是在工作控制 ( 背景暂停 ) 或除错(traced) 状态 ;

Z (Zombie): 僵尸状态 , 程序已经终止但却无法被移除至内存外

3.查看进程

ps: 静态查看进程信息

-A : 所有的 process 均显示出来 , 与 -e 具有同样的效用 ;

-a : 不与 terminal 有关的所有 process ;

-u : 有效使用者 (effective user) 相关的 process ;

x : 通常与 a 这个参数一起使用 , 可列出较完整信息

l : 较长、较详细的将该 PID 的的信息列出 ;

-f : 做一个更为完整的输出。

ps aux

ps aux | grep vim

ps aux -o pid,comm,%cpu,nice,%mem

ps ax -o pid,%cpu,comm --sort -%cpu

[lisiluan@localhost ~]$ psPID TTYTIME CMD2650 pts/0 00:00:00 bash3904 pts/0 00:00:00 ps[lisiluan@localhost ~]$ ps -aPID TTYTIME CMD3908 pts/0 00:00:00 ps[lisiluan@localhost ~]$ ps -uUSER PID %CPU %MEM VSZ RSS TTYSTAT START TIME COMMANDlisiluan 2650 0.0 0.0 116556 3252 pts/0 Ss 19:32 0:00 bashlisiluan 3912 0.0 0.0 151056 1828 pts/0 R+ 19:52 0:00 ps -u[lisiluan@localhost ~]$ ps xPID TTYSTAT TIME COMMAND1871 ? Sl0:00 /usr/bin/gnome-keyring-daemon --daemonize --login1874 ? Ssl 0:00 gnome-session --session gnome-classic1881 ? S0:00 dbus-launch --sh-syntax --exit-with-session1882 ? Ssl 0:00 /bin/dbus-daemon --fork --print-pid 4 --print-address1950 ? Sl0:00 /usr/libexec/gvfsd

4.Top

top: 动态监控进程 , 查看进程信息。

s: 修改进程刷新间隔时间

m: 根据内存占有率进行排序

c: 根据 cpu 占有率进行排序

u: 后面输入用户名 , 用来查看该用户发起的所有进程

k: 后面跟要作用的进程 pid, 和发起的信号 (eg:9,15,20) 用来

给某个进程发起一信号

q: 退出进程查看界面

h: 显示 top 命令的帮助

Tasks: 243 total, 1 running, 242 sleeping, 0 stopped, 0 zombie%Cpu(s): 0.7 us, 0.5 sy, 0.0 ni, 98.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 stKiB Mem : 16222916 total, 4079840 free, 1792636 used, 10350440 buff/cacheKiB Swap: 8126460 total, 8126460 free, 0 used. 13638404 avail Mem PID USERPR NI VIRT RES SHR S %CPU %MEMTIME+ COMMAND 1387 root20 0 891800 218568 190384 S 4.7 1.3 1:41.43 Xorg 2139 lisiluan 20 0 1961512 123648 40548 S 3.7 0.8 0:54.08 gnome-shell2642 lisiluan 20 0 711244 20448 13168 S 2.0 0.1 0:01.37 gnome-term+2866 lisiluan 20 0 1709160 332804 73340 S 2.0 2.1 2:42.23 firefox 3346 qemu20 0 1687808 383284 10612 S 0.7 2.4 0:15.56 qemu-kvm 3617 lisiluan 20 0 2333944 224564 102280 S 0.7 1.4 0:08.34 wps 484 root20 0 000 S 0.3 0.0 0:00.52 xfsaild/dm+2697 lisiluan 20 0 1651608 243320 29336 S 0.3 1.5 0:33.63 virt-manag+4010 lisiluan 20 0 157808 2336 1556 R 0.3 0.0 0:00.02 top 1 root20 0 193712 6832 3940 S 0.0 0.0 0:04.06 systemd 2 root20 0 000 S 0.0 0.0 0:00.01 kthreadd 3 root20 0 000 S 0.0 0.0 0:00.00 ksoftirqd/05 root 0 -20 000 S 0.0 0.0 0:00.00 kworker/0:+7 rootrt 0 000 S 0.0 0.0 0:00.04 migration/08 root20 0 000 S 0.0 0.0 0:00.00 rcu_bh9 root20 0 000 S 0.0 0.0 0:01.03 rcu_sched 10 rootrt 0 000 S 0.0 0.0 0:00.02 watchdog/0

5.工作管理

工作管理是用在 bash 环境下的 , 当我们登陆系统取得 bash shell 之后 , 在单一终端机接口下同时进行多个工作的行为管理。

举例来说 , 我们在登陆 bash 后 , 想要一边进行数据搜寻、一边打开浏览器 , 还可以一边进行 vim 程序撰写 ! 这个就牵扯到工作的前后台管理

命令 & job 在后台运行 ;

ctrl+Z 已经打开的进程打入后台 , 并且不运行 ;

fg 将后台的 job 调回前台 ;

bg 后台不运行的进程运行起来 ;

jobs 查看当前 bash 的 job;

jobs -l 查看当前 bash 的 job, 并显示该 job 的状态与 PID

ssh创建远程连接与免密操作

1.sshd

SSH 为 Secure Shell 的缩写 , 是应用层的安全协议。 SSH是目前较可靠 , 专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题

2.基于密匙的安全验证

你必须为自己创建一对密匙 , 把公匙放在需要访问的服务器上。如果你要连接到 SSH 服务器上 , 客户端软件就会向服务器发出请求 , 请求用你的密匙进行安全验证。服务器收到请求之后 , 先在该服务器上你的主目录下寻找你的公匙 , 然后把它和你发送过来的公匙进行比较。如果两个密匙一致 , 服务器就用公用密匙加密“质询” (challenge) 并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器

3.ssh 服务安全配置

ssh 服务的配置文件为 /etc/sysconfig/sshd_config

配置文件的几个参数 :

PasswordAuthentication yes|no 是否开启用户密码认证 ,yes 为支持 no 为关闭

PermitRootLogin yes|no 是否允许超级用户登陆

AllowUsers student westos 用户白名单

DenyUsers westos 用户黑名单

4.服务管理

ystemctl status sshd 查看 ssh 服务的状态

systemctl stop sshd 关闭 ssh 服务

systemctl start sshd 开启 ssh 服务

systemctl restart sshd 重新启动 ssh 服务

systemctl enable sshd 设定 sshd 服务开机启动

systemctl disable sshd 设定 sshd 服务开机关闭

systemctl list-units 列出当前系统服务的状态

systemctl list-unit-files 列出服务的开机状态

systemctl mask sshd 锁定 ssh 服务 , 不能启动服务 , 除非解锁

systemctl unmask sshd解锁 ssh 服务

systemctl set-default multi-user.target 开机不开启图形

systemctl set-default graphical.target开机启动图形

6.用本机连接虚拟机

1)查看虚拟机的ip地址,由于我是新装的虚拟机,所以没有ip

ip addr

2) 设置network 网卡

先到/etc/sysconfig/network-script目录下

查看ifcfg-eth0

DEVICE=物理设备名

IPADDR=IP地址

NETMASK=掩码值

NETWORK=网络地址

BROADCAST=广播地址

GATEWAY=网关地址

ONBOOT=[yes|no](引导时是否激活设备)

USERCTL=[yes|no](非root用户是否可以控制该设备)

BOOTPROTO=[none|static|bootp|dhcp](引导时不使用协议|静态分配|BOOTP协议|DHCP协议)

HWADDR = MAC地址

更改ifcfg-eth0属性,由于我用的无限网卡,用的NAT模式,不是桥接模式,所以只需要这三条

Linux物理机走NAT模式会自动给虚拟机分配ip地址

vi ifcfg-eth0

wq保存并退出

重启network并查看ip地址

可以看出ip已经设置为192.168.122.248

2)从机远程访问虚拟机

ssh root@192.168.122.248

连接成功

7.免密远程访问

1)创建本地钥匙

ssh-keygen

按三次回车直接生成。

2)进入.ssh目录

3)将本机的公钥复制到远程机器的authorized_keys文件中

ssh-copy-id root@192.168.122.248

4)再次登陆已经免密

5)在远程主机上可以产看到公匙

文件传输

1.SCP

上传

scp 本地文件 远程主机用户 @ 远程主机 IP: 远程主机目录

下载

scp 远程主机用户 @ 远程主机 IP: 远程主机目录 本地目录

2.rsync

rsync用法和 scp 类似

-r 复制目录

-l 不忽略链接

-p 不忽略权限

-t 不忽略时间戳

-g 不忽略用户

-o 不忽略组

-D 不忽略快设备

3.tar打包

参数 :

-c : 建立一个压缩文件的参数指令 (create 的意思 );

-x : 解开一个压缩文件的参数指令。

-t : 查看 tarfile 里面的文件。

-z : 是否同时具有 gzip 的属性 ? 亦即是否需要用 gzip 压缩 ?

-j : 是否同时具有 bzip2 的属性 ? 亦即是否需要用 bzip2 压缩 ?

-v : 压缩的过程中显示文件。

-f : 指定打包文件名名。

-p : 使用原文件的原来属性。

-P : 可以使用绝对路径来压缩

4.压缩

压缩是一种通过特定的算法来减小计算机文件大小的机制。这种机制是一种很方便的发明 , 尤其是对网络用户 , 因为它可以减小文件的字节总数 , 使文件能够通过较慢的互联网连接实现更快传输 , 此外还可以减少文件的磁盘占用空间

gzip gunzip

bzip bunzip

xz unxz

zip unzip

gzip压缩

[root@foundation112 ~]# lsanaconda-ks.cfg etc.tar.bz2 etc.tar.gz[root@foundation112 ~]# gzip anaconda-ks.cfg [root@foundation112 ~]# lsanaconda-ks.cfg.gz etc.tar.bz2 etc.tar.gz

gunzip解压

[root@foundation112 ~]# lsanaconda-ks.cfg.gz etc.tar.bz2 etc.tar.gz[root@foundation112 ~]# gunzip anaconda-ks.cfg.gz [root@foundation112 ~]# lsanaconda-ks.cfg etc.tar.bz2 etc.tar.gz

bz2压缩,更小

[root@foundation112 ~]# lsanaconda-ks.cfg etc etc.tar.gz[root@foundation112 ~]# rm -fr etc[root@foundation112 ~]# lsanaconda-ks.cfg etc.tar.gz[root@foundation112 ~]# tar jcf etc.tar.bz2 /etctar: Removing leading `/' from member names[root@foundation112 ~]# lsanaconda-ks.cfg etc.tar.bz2 etc.tar.gz[root@foundation112 ~]# du -h etc.tar.*7.0Metc.tar.bz28.4Metc.tar.gz

虚拟机联网

1.虚拟机network配置

1)转到/etc/sysconfig/network-script目录下

2)设ifcfg-eth0

2.主机的配置

1)设置主机的ip转发功能

查看主机的ip转发状态sysctl -a |grep ip_forward

2) 设置ip_forward为1

3) 修改 /etc/sysctl.conf

加一句net.ipv4.ip_forward=1

iptables -t nat -I POSTROUTING -s 172.25.254.250

然后重启network

虚拟机此时已经可以上网了

如果觉得《Linux的进程管理 ssh创建远程连接与免密操作 文件传输 虚拟机联网》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。