ssh服务:安全的远程登录,实现加密通信,代替传统的 telnet 协议
服务器端:sshd
服务器端的配置文件: /etc/ssh/sshd_config
常用参数:
Port #生产建议修改 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
设置 ssh 空闲60s 自动注销
Vim /etc/ssh/sshd_config ClientAliveInterval 60 ClientAliveCountMax 0
ssh客户端:
ssh
常用用法:
指定远程登录的用户名(与本地名相同可以省略user@) ssh user@ip 在远程主机上执行命令 ssh user@ip 'COMMOND' 关闭第一次远程连接验证 ssh user@ip -o StrictHostKeyChecking=no 指定远程服务器的端口 ssh user@ip -p port 生成密钥对 ssh-keygen -t 指定类型 [dsa | ecdsa | ed25519 | rsa | rsa1] 复制密钥到远程主机(实现免密登录) ssh-copy-id user@ip 远程传输数据 scp -r 递归 -p 保持原文件的属性信息 -q 静默模式 -v 显示详细输出 -l 限制传输带宽 从本地复制到远程 scp /src/a.txt user@ip:/src 从远程复制到本地 scp user@ip:/scr/test.txt /root/ rsync:使用安全的shell连接做为传输方式,比scp更快,基于增量数据同步 常用参数: -n 模拟复制过程 -v 显示详细过程 -r 递归复制目录树 -p 保留权限 -t 保留修改时间戳 -g 保留组信息 -o 保留所有者信息 -l 将软链接文件本身进行复制(默认) -L 将软链接文件指向的文件复制 -u 如果接收者的文件比发送者的文件较新,将忽略同步 -z 压缩,节约网络带宽 -a 存档,相当于-rlptgoD,但不保留ACL(-A)和SELinux属性(-X) --delete 源数据删除,目标数据也自动同步删除 用法和scp一样 rsync [option] src dest