ssh、PAM模块

news/2024/10/2 1:37:31

.ssh/known_hosts 存储ssh指纹
sshd 服务器端
/etc/ssh/sshd_config 服务器端的配置文件
man 5 sshd_config 服务器端的配置文件帮助
echo root:1111|chapasswd 修改密码
openssl rand -base 64 9 随机取9位密码(随机数经过base编码取9位)

ssh常用参数:

Port  22     #生产建议修改
ListenAddress ip
LoginGraceTime 2m
PermitRootLogin yes #默认ubuntu不允许root远程ssh登录
StrictModes yes   #检查.ssh/文件的所有者,权限等
MaxAuthTries   6     #pecifies the maximum number of authentication 
attempts permitted per connection. Once the number of failures reaches half this 
value, additional failures are logged. The default is 6.
MaxSessions  10         #同一个连接最大会话
PubkeyAuthentication yes     #基于key验证
PermitEmptyPasswords no      #空密码连接
PasswordAuthentication yes   #基于用户名和密码连接
GatewayPorts no
ClientAliveInterval 10 #单位:秒
ClientAliveCountMax 3 #默认3
UseDNS yes #提高速度可改为no
GSSAPIAuthentication yes #提高速度可改为no
MaxStartups    #未认证连接最大值,默认值10
Banner /path/file
#以下可以限制可登录用户的办法:
AllowUsers user1 user2 user3
DenyUsers user1 user2 user3
AllowGroups g1 g2
DenyGroups g1 g2

在 ubuntu 上启用 root 远程ssh登录

#修改sshd服务配置文件
vim /etc/ssh/sshd_config 
#PermitRootLogin prohibit-password 注释掉此行
PermitRootLogin yes 修改为下面形式
systemctl restart sshd

ssh(telentPro)
ssh直接连接主机,并存储对方公钥以及指纹(指纹唯一。如果需要删除指纹就性 .ssh/known_hosts)
自动同意:StrictHostKeyChecking=no 或者修改配置文件StrictHostKeyChecking no

sshpass自动登录ssh工具

-p 后跟密码
-f 保存密码的文件名
-e 变量密码
sshpass -p 123465 ssh  StrictHostKeyChecking=no 10.1.1.1 'hostname'

公钥交换原理
image

image

ssh -keygen生成公私钥对
ssh -copy-id root@10.1.1.1 发生公钥给其他主机
加强版:(通过各个主机都使用同个密钥对,解决多个主机互相使用ssh需要重新创建公私钥对增加复杂性)
ssh -keygen #生成公私钥对
sshpass -p $pass ssh-copy-id -o StrictHostKeyChecking=no 127.0.0.1 #将公钥拷贝到自己主机上
rsync -a .ssh 10.0.0.#id:/root/ #将主机的公私钥对发送到其他主机上

scp

从本地复制文件到远程主机:
scp file.txt user@remote_host:/path/to/destination
从远程主机复制文件到本地:
scp user@remote_host:/path/to/file.txt /local/destination
从远程主机复制整个目录到本地:
scp -r user@remote_host:/path/to/directory /local/destination
从本地复制整个目录到远程主机
scp -r /local/directory user@remote_host:/path/to/destination
使用自定义 SSH 端口复制文件:
scp -P 2222 file.txt user@remote_host:/path/to/destination
使用 scp 命令同时压缩和加速传输:
scp -C -l 1000 file.txt user@remote_host:/path/to/destination

rsync(scpPro):

-a, --archive:归档模式,以递归方式复制文件,并保持所有文件属性。
示例:rsync -a source/ destination/
-v, --verbose:详细输出模式,显示 rsync 的执行过程。
示例:rsync -av source/ destination/
-r, --recursive:递归复制目录及其内容。
示例:rsync -r source/ destination/
-u, --update:仅复制源文件中更新的部分到目标位置。
示例:rsync -u source/ destination/
-n, --dry-run:模拟执行,显示执行 rsync 命令后会执行的操作,但不实际执行。
示例:rsync -nav source/ destination/
-z, --compress:启用数据压缩传输,减少网络带宽占用。
示例:rsync -az source/ destination/
-P, --partial --progress:显示传输进度,并支持断点续传。
示例:rsync -avP source/ destination/
-e, --rsh=COMMAND:指定远程 shell 命令,用于远程传输。
示例:rsync -av -e "ssh -p 22" source/ user@remote:/destination
--delete:删除目标位置上没有源位置的文件。
示例:rsync -av --delete source/ destination/
--exclude=PATTERN:排除指定的文件或目录。
示例:rsync -av --exclude='*.log' source/ destination/

sudo 授权
/etc/sudoers 授权配置

user: 运行命令者的身份
host: 通过哪些主机
(runas):以哪个用户的身份
command: 运行哪些命令

visudo(安全版vi)

root ALL=(ALL) ALL
例子: wang 10.0.0.1=(root) NOPASSWD:#不需要输密码# /usr/bin/mount /dev/cdrom /mnt
别名例子:
user_Alias Z=ZZ,LL
USER_Alias D=tom
Host_Alias S=www.1.com
Runas_Alias O=root
Cmnd_Alias SY=/bin/chown,/bin/chmod
Z S=SY
别名例子:
Defaults:wang runas_default=tom
wang ALL=(tom,jerry) ALL
wang$ sudo cmd  #默认代表tom执行cmd
wang$ sudo -u jerry cmd
不允许访问 例子:
wang 192.168.1.6,192.168.1.8=(root) /usr/sbin/,!/usr/sbin/useradd

PAM(模块)
/etc/pam.d/
/lib64/security/模块配置文件
/etc/security

vim (命令)查询和更改命令的模块

PAM配置格式

auth    [控制标志] 模块名称 [模块参数...]
account [控制标志] 模块名称 [模块参数...]
password [控制标志] 模块名称 [模块参数...]
session [控制标志] 模块名称 [模块参数...]

auth:用于进行用户认证的模块。当用户尝试登录时,将使用指定的模块进行身份验证。
account:用于进行账户管理的模块。例如,检查用户是否被锁定或是否允许登录。
password:用于修改用户密码的模块。例如,允许用户通过特定方式更改密码。
session:用于在用户登录和注销时进行会话管理的模块。例如,记录用户登录和注销事件。

1.required:模块的成功验证是必需的。如果验证失败,则 PAM 将立即返回失败,并且不会继续执行后续模块。如果验证成功,则继续执行后续模块。
2.sufficient:如果模块成功验证,则 PAM 将立即返回成功,并且不会继续执行后续模块。如果验证失败,则继续执行后续模块。如果所有的 sufficient 模块都失败,则认证失败。
3.requisite:类似于 required,但是如果验证失败,则 PAM 将立即返回失败,并且不会继续执行后续模块。如果验证成功,则继续执行后续模块。
4.optional:模块的成功验证是可选的。即使验证失败,PAM 也会继续执行后续模块。通常与 required 或 sufficient 搭配使用。
5.include:包含另一个 PAM 配置文件中的配置。这允许在配置中重用其他服务的配置。

常用模块:
pam_nologin.so(普通用户登录限制)
启用在pamd下创建nologin即可 普通用户无法远程登录
{在Centos7以上版本中,使用Systemd替代了之前的SysV。/etc/security/limits.conf文件的配置作
用域缩小了。/etc/security/limits.conf的配置,只适用于通过PAM认证登录用户的资源限制,它对
systemd的service的资源限制不生效。因此登录用户的限制,通过/etc/security/limits.conf
与/etc/security/limits.d下的文件设置即可。
对于systemd service的资源设置,则需修改全局配置,全局配置文件放在/etc/systemd/system.conf
和/etc/systemd/user.conf,同时也会加载两个对应目录中的所有.conf文
件/etc/systemd/system.conf.d/.conf和/etc/systemd/user.conf.d/.conf。system.conf
是系统实例使用的,user.conf是用户实例使用的}

pan.limits.so(资源限制)
/etc/security/limits.conf
/etc/security/limits.d/*.conf

文件配置
每行一个定义
< domain>     < type> < item> < value>
例子:zz - norpc 5

ulimit命令

-H 设置硬件资源限制.
-S 设置软件资源限制.
-a 显示当前所有的资源限制.
-c size:设置core文件的最大值.单位:blocks
-d size:设置数据段的最大值.单位:kbytes
-f size:设置创建文件的最大值.单位:blocks
-l size:设置在内存中锁定进程的最大值.单位:kbytes
-m size:设置可以使用的常驻内存的最大值.单位:kbytes
-n size:设置内核可以同时打开的文件描述符的最大值.单位:n
-p size:设置管道缓冲区的最大值.单位:kbytes
-s size:设置堆栈的最大值.单位:kbytes
-t size:设置CPU使用时间的最大上限.单位:seconds
-u size:最大用户进程数
-v size:设置虚拟内存的最大值.单位:kbytes
unlimited 是一个特殊值,用于表示不限制
#说明
查询时,若不加H或S参数,默认显示的是软限制
修改时,若不加H或S参数,两个参数一起改变

chrony(ntp时间同步)

/etc/chrony.conf 配置
server ntp.alicyuncom iburst #设置同步服务器
allow 0.0.0.0/0 #设置谁都可以同步
local stratum 10 允许没有外网也可以同步

chronyc sources -v or ntpdate $ip(cento8以后不在使用) 时间同步

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

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

相关文章

敏捷冲刺day2--数字工匠队

这个作业属于哪个课程 软件工程这个作业的要求是什么 项目冲刺这个作业的目标 冲刺日志2站立式会议照片工作困难 有部分知识不知道,要额外学习 昨日完成工作 用户登录前面前端初版 今日计划工作 登录界面前后端处理 项目燃尽图每日总结 陈家谦:继续学习 陆靖:继续努力 代码签…

CloudXR:更高效便捷的XR应用交互方案

CloudXR是一种新颖而先进的技术,旨在将虚拟现实和增强现实体验从本地设备转移到云端,主要功能也包括了远程渲染、流媒体传输、低延迟、高带宽和高质量的音视频传输。云化XR可以将高保真度的虚拟现实或增强现实场景实时传输到终端设备上,用户只需通过互联网即可感受到身临其境…

01-Excel基础操作-学习笔记

01 选择性粘贴一般的复制粘贴,可以直接使用快捷键Ctrl+C 复制,Ctrl+V 粘贴。但是在工作场景中,这样简单的复制粘贴远远不能满足需要。因此,学习了这个选择性粘贴工具。选择性粘贴工具在哪里? 选中单元格区域——复制——鼠标右击——选择性粘贴应用场景一:要求保留原有格…

优化建图

写 \(2-SAT\) 时刷到的,发现好像一点不会,学习下。 1. 线段树优化建图 当一个点与一段区间连边时,暴力连是 \(O(n^2)\) 的。 因为线段树有一个肥肠优秀的性质,一个区间最多被分为 \(O(logn)\) 个节点。 so,我们可以把区间当成放到线段树上,这样是 \(O(nlogn)\) 的。 具体…

[ISITDTU 2019]EasyPHP RCE异或限制

解决一个一直以来的问题,RCE的异或绕过问题。先了解下奇技淫巧吧--> https://www.leavesongs.com/PENETRATION/webshell-without-alphanum.html 接下来说说今天的问题,在做异或问题是发现许多payload都是(xxxxx)^(%ff....),这都是怎么来的呢。 现在说说吧,就比如拿_号来说…

Linux nohup 命令

Linux nohup 命令 应用场景 使用 PyCharm 连接服务器跑模型虽然很方便,但是如果遇到网络不佳、PyCharm出BUG、急需转移阵地等情况就只能中断训练,前面的全白跑了。 因此可以尝试直接在服务器上使用命令跑模型,这个命令好说,笨一点的方法直接抄用 PyCharm 运行时输出的命令嘛…

读《如何高效学习》[加] 斯科特扬 笔记

收获颇多,优化了个人笔记整理及日程安排的思维体系, 将各个经验之谈提炼为了逻辑性较好的系统框架。提升了个人学习和工作效率。序言第一部分 整体性学习策略 1 获取 (1)简化 (2)容量 (3)速度 2 理解 3 拓展 深度拓展 横向拓展 纵向拓展 4 纠错 5 应用 测试 信息结…

实现队列 栈 双端队列

以下都是用list来实现的实现Stack# Implement a Stack in Python class Stack(object):def __init__(self):self.items = []def is_empty(self):return self.items == []def push(self, item):self.items.append(item)def pop(self):return self.items.pop()def peek(self):ret…