Linux运维基础操作

2023年 9月 28日 46.9k 0

SSH远程连接

SSH(安全外壳协议)

SSH为Secure Shell的缩写,是一种网络安全协议,专为远程登录会话和其他网络服务提供安全性的协议。通过使用SSH,可以把传输的数据进行加密,有效防止远程管理过程中的信息泄露问题。 从客户端来看,有两种验证方式:基于密码、基于密钥

基于用户名密码验证

1.png

  • 当客户端发起ssh请求,服务器会把自己的公钥发送给用户
  • 用户会根据服务器发来的公钥对密码进行加密;
  • 加密后的信息回传给服务器,服务器用自己的私钥解密,如果密码正确,则用户登录成功
  • 基于密钥验证

    Linux运维基础操作-1

  • 首先在客户端生成一对密钥(公钥、私钥)
  • 客户端将生成的公钥拷贝到需要访问的服务端机器上
  • 当客户端再次发送一个连接请求,包括ip、用户名
  • 服务端得到客户端的请求后,会到authorized_keys中查找,如果有相应的IP和用户,就会随机生成一个字符串,例如: qwer
  • 服务端将使用客户端拷贝过来的公钥对随机字符串 qwer进行加密,然后发送给客户端;
  • 得到服务端发来的消息后,客户端会使用私钥进行解密,然后将解密后的字符串发送给服务端;
  • 服务端接受到客户端发来的字将串后,跟之前的字符串进行对比,如果一致,就允许免密码登录。
  • OpenSSH的使用

    OpenSSH是SSH协议的免费开源实现。 OpenSSH由客户端和服务端的软件组成。服务端是一个守护进程(daemon),他在后台运行并响应来自客户端的连接请求。服务端一般是sshd进程,提供了对远程连接的处理。 客户端包含ssh程序以及像scp(远程拷贝)、slogin(远程登陆)、sftp(安全文件传输)等其他的应用程序。 默认情况下,CentOS系统会自带安装OpenSSH 服务。 使用示例:配置node-1至node-2机器的免密登录。

  • 在node-1机器上 ssh-keygen -t rsa [dsa]按四下回车 生成密钥文件和私钥文件 id_rsa,id_rsa. pub
  • 将公钥拷贝给node-2机器 ssh-copy-id node-2 首次链接需要输入用户密码、验证成功后后续免密登陆
  • Linux文件上传下载- sftp & lrzsz

    在涉及Linux 相关的开发中,经常需要进行linux 和 Windows之间的文件、安装包等上传和下载操作。sftp和 lrzsz是使用比较广泛的两种方式。

    SFTP

    sftp是Secure File Transfer Protocol 的缩写,安全文件传送协议。可以为传输文件提供一种安全的网络的加密方法。sftp为SSH的其中一部分,本身没有单独的守护进程,使用sshd守护进程(端口号默认是22)来完成相应的连接和答复操作。 SecureCRT远程连接至CentOS后,按alt+p即可打开sftp会话窗口。常用的sftp命令有: pwd和lpwd

    pwd是看sftp服务所在机器(即CentOS)默认的当前目录

    lpwd是看Windows本地默认目录

    ls和 lls ls查看sftp服务器默认当前目录下内容

    lls是看Windows 默认当前目录下内容

    put c:/sparksql_textdata.csv 把Windows 上文件上传到sftp服务器的默认当前目录下

    lrzsz

    lrzsz是一款在linux 里可代替sftp上传和下载的程序。Centos系统中,可直接yum -y install lrzsz,也可以下载安装包离线进行安装。 上传文件:命令行输入rz,打开上传文件会话窗口。

    下载文件:sz下载文件路径

    mount挂载操作

    挂载(mount)命令

    在linux操作系统中,挂载是指将一个设备(通常是存储设备)挂接到一个已存在的目录上。要访问存储设备中的文件,通过访问这个挂载目录来访问。

    命令格式: mount [-t vfstype] [-o options] device dir -t vfstype指定文件系统的类型。mount会自动选择正确的类型。

    常用类型:光盘镜像iso9660、linux文件网络共享nfs等等。 -o options主要用来描述设备或档案的挂接方式。常用的参数有: loop:用来把一个文件当成硬盘分区挂接上系统 ro:采用只读方式挂接设备 rw:采用读写方式挂接设备 device要挂接(mount)的设备 dir设备在系统上的挂接点(mount point)

    挂载光驱

    mkdir/mnt/cdrom mount -t iso9660 -o ro /dev/cdrom /mnt/cdrom/ 将设备/dev/cdrom挂载到挂载点/mnt/cdrom中

    挂载光盘镜像文件(.iso)

    mkdir/mnt/centos mount -o loop/root/***.iso /mnt/centos

    卸载umount

    umount /mnt/cdrom

    系统服务管理

    service --status-all #查看系统所有的后台服务进程 service sshd status #查看指定的后台服务进程的状态 service sshd stop service sshd start service sshd restart

    配置后台服务进程的开机自启

    chkconfig httpd on #让 httpd服务开机自启 chkconfig httpd off #让 httpd服务开机不要自启

    网络管理

    主机名配置

    查看主机名hostname 修改主机名(重启后无效)hostname hadoop 修改主机名(重启后永久生效)vi /ect/sysconfig/network

    IP地址配置

    方式一: setup

    用root输入setup命令,进入交互式修改界面 Minimal安装的系统没有安装 setuptool 软件,可yum安装后使用。 yum install setuptool ntsysv system-config-securitylevel-tui yum install system-config-network-tui system-config-keyboard

    方式二:修改配置文件(重启后永久生效)

    vi /etc/sysconfig/network-scripts/ifcfg-eth0 使修改文件的网络配置生效: service network restartn重启网络服务 reboot重启计算机

    方式三: ifconfig命令(重启后无效)

    ifconfig eth0192.168.12.22

    域名映射

    /etc/hosts文件用于在通过主机名进行访问时做ip地址解析之用。想访问一个什么样的主机名,就把这个主机名和它对应的 ip地址配置在/etc/hosts文件中。

    网络端口监听

    netstat是一款命令行工具,用于列出系统上所有的网络socket连接情况,包括 tcp,udp以及unix socket,另外它还能列出处于监听状态(即等待接入请求〉的socket。如想确认Web服务有没有起来,可查看80端口有没有打开。 常见参数: -a (all) 显示所有选项,默认不显示LISTEN相关 -t (tcp) 仅显示tcp相关选项 -u (udp) 仅显示udp相关选项 -n 禁用域名反向解析功能,只显示 ip-聆仅列出有在 Listen(监听)的服务状态 -p 显示建立相关链接的进程信息 -ep 可以同时查看进程名和用户名 netstat - nlpt 获取进程名、进程号以及用户ID 只列出监听中的连接 netstat - tnl 可以看到处于监听状态的TCP端口和连接

    定时任务crontab

    crontab配置

    crontab是 Unix和 Linux用于设置周期性被执行的指令。通过crontab命令,可以在固定间隔时间执行指定的系统指令或shell脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。 crontab 安装: yum install crontabs 服务操作说明: service crond start #启动服务 service crond stop #关闭服务 service crond restart #重启服务 service crond reload #重新载入配置 service crond status #查看crontab 服务状态: chkconfig crond --list #查看crontab服务是否已设置为开机启动 chkconfig crond on #加入开机自动启动

    命令格式

    crontab [-u user] file crontab [-u user] [ -e|-l | -r ]

    参数说明:

    -u user:用来设定某个用户的crontab 服务 file: file是命令文件的名字,表示将file做为crontab 的任务列表文件并载入crontab。 -e:编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件。 -l:显示某个用户的crontab文件内容。如果不指定用户,则表示显示当前用户的crontab文件内容。 -r:删除定时任务配置,从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件。 -i:在删除用户的crontab文件时给确认提示。

    命令示例: crontab file [-u user] ##用指定的文件替代目前的crontab crontab -l [-u user] ##列出用户目前的crontab crontab -e [-u user] ##编辑用户目前的crontab

    配置说明

    * * * * * command 分 时 日 月 周 命令 第1列表示分钟 1~59 每分钟用*或者*/1表示 第2列表示小时 0~23 (0表示0点) 第3列表示日期 1~31 第4列表示月份 1~12 第5列标识号星期 0~6 (0表示星期天) 第6列要运行的命令

    配置实例:

    */1 * * * * date >> /root/date.txt 每分钟执行一次date命令 30 21 * * * /usr/local/etc/rc.d/httpd restart 每晚的21:30重启apache 45 4 1,10,22 * * /usr/local/etc/rc. d/httpd restart 每月1、10、22日的4 :45重启apache 10 1 * * 6,0 /usr/local/etc/rc.d/httpd restart 每周六、周日的1 :10重启 apache 0,30 18-23 * * * /usr/local/etc/rc.d/httpd restart 每天18 : 00 至23 : 00之间每隔30 分钟重启 apache * 23-7/1 * * * /usr/local/etc/rc.d/httpd restart 晚上11点到早上7点之间,每隔一小时重启 apache

    相关文章

    服务器端口转发,带你了解服务器端口转发
    服务器开放端口,服务器开放端口的步骤
    产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
    如何使用 WinGet 下载 Microsoft Store 应用
    百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
    百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

    发布评论