ssh优化:
1、修改默认端口;
2、禁止root连接;
3、禁止空密码登陆;
4、禁止DNS
UseDNS no;
5、是否允许使用基于 GSSAPI 的用户认证
GSSAPIAuthentication no;
6、只监听本地IP;
7、用密钥登陆不用密码登陆;
客户端ssh,连接完可以在用户下执行命令,也可以在连的时候执行命令:
ssh -p22 root@x.x.x.x
第一次连接会产生一个KEY到 ~/.ssh/know_hosts
sftp加密ftp:
#缺点:必须系统用户,没法锁定目录,可以随意切换目录,两个缺点都比较危险
sftp -oPort=22 root@x.x.x.x
#不加路径传到root的home目录,加路径传到指定路径
put /etc/hosts
#下载文件到指定路径,不指定则下载到登陆前路径
get yum.conf /opt
scp全量复制,用起来基本可以被rsync替代,-r递归,-p保持属性:
scp -P22 -r -p /tmp/ boy@x.x.x.x:/scp/
知道端口或进程查详情
lsof -i tcp:22
netstat -lntup|grep 22
netstat -lntup|grep sshd
#centos7:
ssa(待研究)
批量方案(分发、部署、执行命令、配置修改):
ssh key |puppet |saltstack
ssh key:
创建用户和密码
useradd skey &&\
echo '12345678'|passwd --stdin skey
在分发机上在普通用户下创建公钥私钥:一把钥匙(私钥)打开多个锁(公钥)
1、su - skey
2、ssh-keygen -t dsa
3、ls ~/.ssh
4、ssh-copy-id -i .ssh/id_dsa.pub skey@x.x.x.x
ssh-copy-id -i .ssh/id_das.pub "-p 12345 skey@x.x.x.x"
客户机:
1、ls ~/.ssh|wc -l (生成authorized_keys文件,文件名由/etc/ssh/sshd_config里配置) 权限为600
分发机分发文件:
1、scp -P22 sshkeytest skyboy@x.x.x.x:~
2、ssh 192.168.137.7 whoami #执行一次后不需要密码
touch sshallsend.sh &&\
cat >sshallsend.sh<<eof
#!/bin/sh
. /etc/init.d/functions
[ \$# -eq 1 ]||{
echo "USAGE:\$0 {FILENAME|DIRECTORY}"
exit 1
}
for n in 7 8 9
do
#r复制目录,p保持属性
scp -rp \$1 skyboy@192.168.137.\${n}:~ &>/dev/null
[ \$? -eq 0 ]&&{
action "\$0 192.168.137.\${n} is ok" /bin/true
}||{
action "\$0 192.168.137.\${n} is faile" /bin/faile
}
done
eof
cat >testfor <<eof
for n in 7 8 9
do
echo \${n}
echo \$?
done
eof
原文链接:https://www.f2er.com/centos/381713.html