.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'
公钥交换原理
ssh -keygen生成公私钥对
ssh -copy-id [email protected] 发生公钥给其他主机
加强版:(通过各个主机都使用同个密钥对,解决多个主机互相使用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以后不在使用) 时间同步
标签:rsync,模块,destination,etc,ssh,conf,PAM From: https://www.cnblogs.com/civetcat/p/18180295