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