一、SSH服务端
1、SSH服务
2、SFTP服务(vsftp,proftp)
SSH客户端
SSH客户端(ssh命令)还包活一个很有用的远程安全拷贝命令scp,也是通过ssh协议工作的。
SSH服务协议加密原理(ssh 1.x)
SSH version 2多加了一个确认联机正确性的Diffie-Hellman机制,在每次数据传输中,Server都会以该机制检查数据的来源是否正确,这样,可以避免联机过程中被插入恶意程序代码的问题。SSH version 2是比较安全的。
SSH服务认证:
1、基于口令安全认证:ssh -p22 [email protected]
2、基于密钥安全认证:一对密钥对(锁 公用密匙(Public key)和钥匙 私有密匙(Private key))
SSH基本语法使用
1、登录到远程主机
2、在本地执行远端主机的命令
scp全量拷贝scp -P22 -r -p /data [email protected]:/tmp/
rsync增量拷贝rsync -avz /data -e 'ssh -p 22' [email protected]:/tmp/
sftp上传下载工具命令应用
sftp -oPort=22 [email protected]
upload(上传): put /etc/hosts #上传到远端主机家目录下
put /etc/hosts /tmp #上传到远端主机/tmp下
download(下载): get hosts #下载到本机的当前目录下
get /etc/hosts /tmp #下载到本机的/tmp下
二、集群架构批量分发管理方案(以四台为例)
1、在四台服务器上添加同样的用户,并给上密码
2、然后在NFS共享服务器上产生密钥对(切换到yu普通用户)
ssh-keygen -t dsa 一直回车
ls -l .ssh/ 查看密钥对
3、分发公钥到其他三台服务器
ssh-copy-id -i .ssh/id_dsa.pub [email protected]
ssh-copy-id -i .ssh/id_dsa.pub [email protected]
ssh-copy-id -i .ssh/id_dsa.pub [email protected]
分发到对方家目录下,查看命令: ll /home/yu/.ssh/
4、批量执行命令
vi view.sh 并执行脚本
5、批量分发 (把hosts文件分发到其他的服务器上)
vi fenfa.sh 并执行脚本
三、SSH批量分发与管理方案(把当地文件分发到各个服务器的/etc目录下)
答:利用普通用户如 yu来做
思路是先把分发的文件拷贝到服务器用户家目录,然后sudo提权拷贝分发的文件到远端对应权限目录。
优点:安全。无需停止root远程连接这个功能。
缺点:配置比较复杂。
1、首先在各个服务器上配置sudo文件
2、分发 ssh -t [email protected] sudo rsync hosts /etc/
执行脚本:
3、分发成功后发邮件通知
首先开启postfix服务
查看服务 lsof -i :25
最后发邮件 mail -s "yu title" [email protected] </etc/hosts
定时批量分发文件:vi fenfa_hosts.sh
执行: sh fenfa_hosts.sh hosts /etc
加到定时任务: