陈奇网络工作室

SSH批量分发和管理

SSH服务简介

SSH是SecureShellProtocol的缩写,由IETF网络工作组制定。在数据传输前,SSH通过加密技术对在线数据包进行加密,加密后再传输数据,保证了数据的安全性。

SSH是为远程登录会话和其他网络服务设计的安全协议。使用SSH协议可以有效防止远程管理过程中的信息泄露。在当前的生产环境中,大多数企业普遍使用SSH协议服务来取代传统的不安全的远程在线服务软件。如telnet等。

SSH服务结构:

SSH服务由服务器软件OpenSSH和客户端(常见的有SSH、Securert、XShell、Putty)组成。SSH服务默认使用22个端口提供服务,它有两个不兼容的SSH协议版本,分别是1.x和2.x。

二、SSH服务认证类型

从SSH客户端的角度来看,SSH服务主要有两个级别的安全验证,具体级别如下:

1.基于密码的安全认证

2.基于密钥对的安全认证:基于密钥的安全认证也不同于windows客户端和linux客户端。

第三,SSH服务优化

修改sshd.conf

Port52113#为了提高安全级别,建议更改SSH服务的默认连接端口。

PermitRootLoginno#root超级用户* * *知道建议禁止其(root)远程登录。

PermitEmptyPasswordsno#禁止使用空密码登录。

Usdnsno #不使用DNS。

GssapiaouthenticationNo #加速SSH连接。

第四,SSH批量分发管理实践

批量分发数据或文件。

(1)添加系统帐户并修改密码。

[root@A~]#useraddfenfa

[root@A~]#idfenfa

uid=503(fenfa)GID=503(fenfa)groups=503(fenfa)

[root @ A ~]# echo 123456 | passwd-stdinfenfa

注意:所有受管主机都应该创建此用户。

(2)创建密钥对

[fenfa@A~]$ssh-keygen-tdsa

正在生成public/privatedsakeypair。

输入保存密钥的文件(/home/fenfa/)。ssh/id_dsa):

created directory \ \ \ '/home/fenfa/。ssh\\\ '

输入密码短语(emptyfornopassphrase):

再次输入Entersamepassphraseagain在此输入。

your identification hasbeensavedin/home/fenfa/。ssh/id_dsa。

yourpublickeyhasbeensavedin/home/fenfa/。ssh/id_dsa.pub。

按键指纹:#在此输入

0e:99:ef:7f:2d:5c:36:88:79:09:7a:89:E0:D1:F7:fcfenfa @ A

关键字\ \' srandomartp _ w _ picpathis: #在此输入。

- [DSA1024]

||

||

|.|

|oo.o|

|.oS Bo|

|.o=* |

|o.o=。|

|.电子|

|.|

-

默认情况下,会在fenfa用户的主目录/home/fenfa/中生成两个文件。ssh:

Id_dsa.pub#公钥,权限644,分发给要管理的主机。

Id_dsa#私钥,权限600,本地保存。

(3)将公钥推送到管理主机。

该示例被推送到192.168.0.111上的主机,并以同样的方式推送到192.168.0.112上。

[fenfa @ A ~]$ ssh-copy-id-I . ssh/id _ DSA . pub '-p22 href=' mailto:fenfa @ 192 . 168 . 0 . 111 \ \ \ \ ' '=' ' fenfa @ 192 . 168 . 0 . 111 '

建立了主机192.168.0.111的真实性。

rsakeyfingerprintis 85:83:52:21:20:DD:4a:7c:3c:df:EC:5a:de:A0:B4:82。

您是否希望继续连接(是/否)?是

警告:已将\\\'192.168.0.111\\\'(RSA)永久添加到已知主机列表。

fenfa @ 192 . 168 . 0 . 111 \ \ \ ' spasword:

现在尝试使用“ssh \ \ \”-p 22 fenfa @ 192 . 168 . 0 . 111 \ \ \”登录到计算机,并检查:

的样子。ssh/authorized_keys#表示公钥被成功推送。

tomakesurewehaven \ \ \ ' taddedexterkeys you weren \ \ \ ' t expecting。

注意:ssh-copy-id的特殊应用。

如果SSH被修改为一个特殊的端口,比如52113,那么就不能使用上面的ssh-copy-id命令分发公钥。如果您仍然想使用ssh-copy-id,有两种可能的解决方案:

1.命令是:ssh-copy-id-i.ssh/id_dsa.pub'-p52113fenfa@192.168.0.111'#专用端口分配,带适当的引号。

2.编辑vi/usr/bin/ssh-copy-id,并在第41行进行如下修改。看到加粗的部分。

41 { eval ' $ GET _ ID} | ssh-p22 $ 1 ' umask 077;test-d~/。ssh||

mkdir~/。ssh猫~/。ssh/authorized _ keys(test-x/sbin/

restorecon/sbin/restorecon~/。ssh~/。ssh/authorized _ key/d

Ev/null21||true)'||exit1#在第41行的开始ssh之后和1之前添加一个自定义ssh端口。

描述:ssh-copy-id的原理(ssh-copy-id-i.ssh/id_dsa.pub'-p52113fenfa@192.168.0.111')

就是把ssh/id_dsa.pub复制到192.168.0.111的奋发用户家目录下面的。嘘目录(提前创建,权限为700)下,并做了更改名字的操作,名字改为授权_密钥,权限变为600.

(4)检查被管理主机上的公钥

[fenfa@B~]$ll.ssh/

总计四

-rw-1 fenfa fenfa 598 jul 2522:59授权_密钥

[fenfa@C~]$ll.ssh/

总计四

-rw-1 fenfa fenfa 598 jul 2522:47授权_密钥

(5)批量分发测试

[fenfa@A~]$whoami

奋发

[fenfa@A~]$echo123a.txt

[fenfa@A~]$ll

总计四

-rw-rw-r-1 fenfa fenfa 7月4日2600:00a。文本文件(textfile)

[fenfa@A~]$cata.txt

123

[fenfa @ A ~]$ scp-p22a。txt fenfa @ 192。168 .0 .111:~

答。txt 100 @ 0.0 kb/s00:00

[fenfa @ A ~]$ scp-p22a。txt fenfa @ 192。168 .0 .112:~

答。txt 100 @ 0.0 kb/s00:00

批量分发脚本:

建立被管理主机地址库

创建批量分发脚本

实例:将分发主机(192.168.1.114)家目录的文本。文本文件(textfile)文件分发到被管理主机(192.168.1.113,192.168.1.115)

[fenfa@server_04~]$catip.txt

192.168.1.113

192.168.1.115

[fenfa @ server _ 04 ~]$ catplfenfa。嘘

#!/bin/bash。/etc/profile。/etc/init。d/函数

文件名=test.txt

File_dir=/home/fenfa

Fenfa_user=fenfa

foripin`cat/home/fenfa/ip.txt '

rsync-avz-e ' ssh-p 52113 ' $ {文件目录}/$文件名${Fenfa用户}@$ip:~

action ' $ { Fenfa _ user } @ $ IP $ { File _ dir }/$ File _ name copy '/bin/true

完成的

[fenfa@server_04~]$

[fenfa @ server _ 04 ~]$ shplfenfa。嘘

发送增量文件列表

测试。文本文件(textfile)

每秒发送91字节接收37字节256.00字节

totalsizeis9speedupis0.07

fenfa @ 192。168 .1 .113/家/分法/考。文本复制[好]

发送增量文件列表

测试。文本文件(textfile)

每秒发送91字节接收31字节244.00字节

totalsizeis9speedupis0.07

fenfa @ 192。168 .1 .115/家/分法/考。文本复制[好]

小结:

1)免密码登陆验证是单向的(管理主机—被管理主机)

2)基于用户的,最好不要跨不同的用户

3)批量分发初始都需要输入一次密码,并且第一次连接要确认

(6)须藤对分发用户奋发提权

根用户,维苏多命令修改

在文件结尾加入一下内容:

fenfaALL=(ALL)NOPASSWD:/bin/cp

说明:

奋发

全部

(全部)

NOPASSWD

/bin/cp

使用须藤的用户

允许使用须藤的主机

使用须藤免密码

使用须藤可以执行的命令,如果是允许所有命令填NOPASSWD:全部

根用户,vim/etc/sudoers直接修改苏多尔斯文件,同理添加同上面的内容

五、利用预期脚本实现免交互嘘密钥分发

1)安装预期执行环境

2)期待批量分发,免交互脚本示例

主要有两部分:fenfa_sshkey.exp和fenfa.sh,使用时直接执行fenfa.sh即可

[root @ server _ 05脚本]# catfenfa _ sshkey。经历

#!/usr/bin/expect

if{$argc!=2}{

'发送_用户'用法:expectfenfa _ ssh密钥。expfilehost \ \ \ \ n '

出口

}

#definevar

setfile[lindex$argv0]

sethost[lindex$argv1]

设置密码' 123456'##分发帐号的密码

setuser'fenfa'##分发帐号

设置端口' 52113'##分发主机的嘘端口

' spawn ssh-copy-id-I $ file '-p $ port $ user @ $ host '

期望{

是/否' {发送'是\ \ \ \ r 'exp_continue}

*密码{发送' $password\\\\r'}

}

期望

[root @ server _ 05 scripts]# cat fenfa。嘘

#!/bin/bash

Ipaddr_head=192.168.1

用户=fenfa

端口=52113

Commond_dir=/usr/bin

if[$UID-ne0]

然后

“echo”错误:pleasueserootaccountoexecthisscript!

其他

福宁

$ { command _ dir }/ssh-copy-id-I '-p $ Port $ { User } @ $ { IP addr _ head } .$n'2/dev/null

如果[$?-eq0]

然后

操作${Ipaddr_head}$ncopyssh_key . '/bin/ture

其他

操作${Ipaddr_head}$ncopyssh_key . '/bin/false

船方不负担装货费用

完成的

船方不负担装货费用

更多关于云服务器,域名注册,虚拟主机的问题,请访问西部数码代理商官网:www.chenqinet.cn

相关推荐

后台-系统设置-扩展变量-手机广告位-内容页底部广告位3