(干货)ssh服务安全优化及批量分发

一键修改ssh参数(修改端口6666、禁止root登入和空密码、加速ssh连接)

sed -ir ‘13 iPort 6666\nPermitRootLogin no\nPermitEmptyPasswords no\nUseDNS no\nGSSAPIAuthentication no‘ /etc/ssh/sshd_config

查看sed -n ‘13,17p‘ /etc/ssh/sshd_config 修改结果

/etc/init.d/sshd restart

实验环境:机器6台,一台ip192.168.169.10做主分发机器,其余ip192.168.169.11-15做被分发机器

机器全部开启,可以做一个securtCRT交谈会话窗口一键执行添加用户

cat ~/.ssh/known_hosts 访问过的公钥记录

rm -f ~/.ssh/known_hosts

服务器批量创建用户及密码

useradd jiege

echo 123456|passwd --stdin jiege

id jiege

su - jiege

10创建密钥对

su - jiege

ssh-keygen -t dsa 一路回车

ll /home/jiege/.ssh/  查看生成文件

-rw------- 1 jiege jiege 668 Jun 22 22:38 id_dsa  #私钥,权限为600,保留本地,私

钥为钥匙

-rw-r--r-- 1 jiege jiege 599 Jun 22 22:38 id_dsa.pub  #公钥,权限为644,分发给其

他主机,公钥为锁

#ssh-keygen -t dsa -P ‘‘ -f ~/.ssh/id_dsa >/dev/null 2>&1

10分发公钥

默认端口22

ssh-copy-id -i .ssh/id_dsa.pub "[email protected]"

更改过的ssh端口6666

ssh-copy-id -i .ssh/id_dsa.pub "-p 6666 [email protected]"

ssh-copy-id -i .ssh/id_dsa.pub "-p 6666 [email protected]"

ssh-copy-id -i .ssh/id_dsa.pub "-p 6666 [email protected]"

ssh-copy-id -i .ssh/id_dsa.pub "-p 6666 [email protected]"

ssh-copy-id -i .ssh/id_dsa.pub "-p 6666 [email protected]"

.ssh/authorized_keys                    #出现这个表示推送公钥成功

测试ssh不要密码即成功

企业里实现ssh cp没权限方案

1直接root ssh key

条件:允许root ssh登入

2sudo提权实现拷贝没有权限的用户拷贝

root   ALL=(ALL)       ALL

jiege  ALL=(ALL)       NOPASSWD:/bin/cp  #在98行后加入这一行内容,给予jiege用户

执行/bin/cp命令的权限,sudo提权

echo "jiege  ALL=(ALL)       NOPASSWD:/bin/cp" >>/etc/sudoers

visudo -c 检查语法错误

远程sudo方法

ssh -p6666 -t [email protected] sudo /bin/cp ~/hosts /etc/hosts

visudo

#You have to run "ssh -t hostname sudo <cmd>".  #远程执行sudo方法一加-t

Defaults   requiretty                #远程执行sudo方法二,直接注释掉此行内容

3利用suid实现没有权限的用户拷贝(思维扩展了解一般不采用不安全)

which cp

/bin/cp

chmod 4755 `which cp`

chmod u+s `which cp`

chmod u+s $(which cp)

ssh  [email protected] /bin/cp ~/hosts /etc/

chmod u-s $(which cp)  #权限去掉

ssh批量分发脚本(需自定义源文件和目标目录)

vi fenfa_file.sh

#/bin/sh

#piliangfenfajiaoben,2017-06-23 by jiege

if [ $# -ne 2 ]:then

echo "USAGE:/bin/sh $0 ARG1 ARG2"

exit 1

. /etc/init.d/functions

for n in 11 12 13 14 15

do

scp -P6666 -rp ~/$1 [email protected]$n:~ >/dev/null 2>$1&&\

ssh -p6666 -t [email protected]$n sudo/bin/cp ~/$1 $2 >/dev/null 2>$1

if [ $? -eq 0 ]:then

action "fenfa hosts 192.168.169.$n" /bin/ture

else

action "fenfa hosts 192.168.169.$n" /bin/false

done

ssh批量查看执行命令

vi allview.sh

#/bin/sh

if [ $# -ne 1 ]:then

echo "USAGE:/bin/sh $0 ARG1"

exit 1

fi

for n in 11 12 13 14 15

do

echo ========192.168.169.$n=========

ssh -p6666 [email protected]$n "$1"

done

附上ssh应用方案

【远程连接及执行命令】

ssh -p22 [email protected]

ssh -p22 [email protected] /sbin/ifconfig

【远程拷贝:推送及拉取】

推push scp -P22 -r -p /etc [email protected]:/tmp   -p拷贝前后保持文件或目录的属性

拉pull scp -P22 -r -p [email protected]:/tmp/ /etc  -r递归

【安全的FTP功能】

sftp -oPort=22 [email protected]

【无密码验证方案】

例如利用sshkey批量分发文件,执行部署操作。

时间: 2024-10-11 22:18:25

(干货)ssh服务安全优化及批量分发的相关文章

ssh key密钥认证实现批量分发、管理、部署

在实际生产环境中,如果需要批量管理和部署服务器,可以采用ssh+key秘钥认证,然后可以免密码进行数据分发,服务部署及管理. SSH服务(TCP端口号22):安全的命令解释器 为客户机提供安全的Shell 环境,用于远程管理 SSH基于公钥加密(非对称加密)技术: 数据加密传输: 客户端和服务器的身份验证: 公钥 和 私钥   是成对生成的,这两个密钥互不相同,两个密钥可以互相加密和解密:不能根据一个密钥而推算出另外一个密钥: 公钥对外公开,私钥只有私钥的持有人才知道. ssh批量分发 首先需要

ssh服务优化与客户端命令使用

上一节我们讲解了vim的一套使用方法,今天我们开始我们的第一个网络服务ssh.SSH的英文全称是Secure SHell.通过使用SSH,我们可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,而且也能够防止DNS和IP欺骗.说白了他就是我们本地电脑用secureCRT远程登录服务器的所要开启的服务.如果没有开启,是登录不了我们的服务器.我们的服务器操作系统默认已经安装了服务.有童鞋好奇问,前面我们不是已经讲过此服务了,怎么在这里又重复讲呢?前面我们只是简单的使用这

SSH服务介绍

本文是在m01机器上面操作的. 查看ssh服务是否启动: [[email protected] ~]# /etc/init.d/sshd statusopenssh-daemon (pid  1220) is running... ssh服务对应进程是什么? [[email protected] ~]# ps -ef|grep sshdroot       1220      1  0 19:13 ?        00:00:00 /usr/sbin/sshd   (ssh服务)root   

ssh服务及scp命令相关知识

一.linux系统ssh服务  1.什么是ssh?ssh是secure shell protocol简写,ssh是先对联机的数据包通过加密后再进行传输,确保数据安全.ssh是专门为远程登录会话和其他网络服务提供的安全性协议. 特别提醒:ssh客服端还包括scp安全拷贝命令及sftp文件传输服务,也是通过ssh协议来工作的. 二.ssh服务其他附带服务 1)检查是否安装openssl/openssh服务[[email protected] ~]# rpm -qa openssh openssh-5

SSH服务及批量分发与管理实战

SSH服务 一.SSH服务介绍 SSH是Secure Shell Protocol的简写,由IETF网络工作小组制定:在进行数据传输之前,SSH先对联机数据包通过加密技术进行加密处理,加密后再进行数据传输,确保了传递的数据安全. SSH是专为远程登录会话和其他网络服务提供的安全性协议.利用SSH协议可以有效的防止远程管理过程中的信息泄露问题,在当前的生产环境当中,绝大多数企业普遍采用SSH协议服务来代替传统的不安全的远程联机服务软件.如telnet等. SSH服务功能: a.类似telnet远程

ssh批量分发服务搭建

SSH批量分发服务 1. 系统环境 [[email protected] ~]# uname -a Linux A 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 2203:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux [[email protected] ~]# ifconfig eth0 | grep 'inet addr' |awk'{print $2}'|awk -F':' '{print $2}' 10.0.0.3

linux下SSH服务利用shell脚本实现密钥的批量分发与执行

SSH项目利用shell脚本实现密钥的批量分发与执行 1 ssh密钥的批量分发 开始安装sshpass免交互工具并进行SSH-key的批量分发 1.1 下载epel源并更新yum仓库 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo yum -y clean all yum makecache 1.2 安装sshpass工具 yum -y install sshpass 2 创建密钥文件 2

ssh服务及批量分发自动化管理

Ssh服务知识: Ssh包含openssh和openssl两种包. Ssh客户端包含ssh连接工具及scp拷贝.slogin.sftp等应用程序. Less /etc/ssh/sshd_config这是查看服务端配置,sshd是服务端,ssh是客户端 ~/.ssh/known_hosts当客户端ssh服务端后会在本地的这个位置放一个名为known_hosts的公钥. 这个文件里可能有多个密钥,因为可能连了多个服务器. 两种连接方式: Ssh -p22 x.x.x.x     -p22是默认可以忽

Linux服务器集群架构部署搭建(三)NFS文件系统、SSH通道建立、批量分发管理(1)

命运是大海,当你能够畅游时,你就要纵情游向你的所爱,因为你不知道狂流什么会到来,卷走一切希望与梦想.  作者:燁未央_Estelle声明:测试学习,不足之处,欢迎指正. 第一章 NFS共享服务器的企业应用 1.1 NFS服务--静态数据存储 NFS是(Network File System)主要功能是通过网络让不同的设备端之间可以彼此共享文件或目录.NFS客户端(一般为应用服务器,如WEB)可以通过挂载(mount)方式,将NFS客户端本地系统中(就是一个挂载点)从NFS服务器端共享的数据文件目