SSH

SSH采用的是”非对称密钥系统”,即公钥私钥加密系统

1. 基于口令的安全验证
这种方式使用用户名密码进行联机登录,一般情况下我们使用的都是这种方式。整个过程大致如下:
(1)客户端发起连接请求。
(2)远程主机收到用户的登录请求,把自己的公钥发给客户端。
(3)客户端接收远程主机的公钥,然后使用远程主机的公钥加密登录密码,紧接着将加密后的登录密码连同自己的公钥一并发送给远程主机。
(4)远程主机接收客户端的公钥及加密后的登录密码,用自己的私钥解密收到的登录密码,如果密码正确则允许登录,到此为止双方彼此拥有了对方的公钥,开始双向加密解密。

PS:当网络中有另一台冒牌服务器冒充远程主机时,客户端的连接请求被服务器B拦截,服务器B将自己的公钥发送给客户端,客户端就会将密码加密后发送给冒牌服务器,冒牌服务器就可以拿自己的私钥获取到密码,然后为所欲为。因此当第一次链接远程主机时,在上述步骤的第(3)步中,会提示您当前远程主机的”公钥指纹”,以确认远程主机是否是正版的远程主机,如果选择继续后就可以输入密码进行登录了,当远程的主机接受以后,该台服务器的公钥就会保存到 ~/.ssh/known_hosts文件中。

2. 基于密匙的安全验证
这种方式你需要在当前用户家目录下为自己创建一对密匙,并把公匙放在需要登录的服务器上。当你要连接到服务器上时,客户端就会向服务器请求使用密匙进行安全验证。服务器收到请求之后,会在该服务器上你所请求登录的用户的家目录下寻找你的公匙,然后与你发送过来的公匙进行比较。如果两个密匙一致,服务器就用该公匙加密“质询”并把它发送给客户端。客户端收到“质询”之后用自己的私匙解密再把它发送给服务器。与第一种级别相比,第二种级别不需要在网络上传送口令。

/etc/ssh/sshd_config:
PermitRootLogin  =  no               禁止root用户远程登录
port  =  58439                            更改ssh端口号
Protocol  2                        #仅允许使用SSH2
PubkeyAuthentication   yes    #启用PublicKey文件认证
AuthorizedKeysFile   .ssh/authorized_keys2   #PublicKey文件路径
PasswordAuthentication   no                   #不使用口令认证


vim   scp://username@host//path/to/somefile   vim一个远程文件
ssh   root@115.159.210.36   "uptime  ;  ls -l"
ssh    user@host  bash < /path/to/local/script.sh    在远程机器上运行一段脚本

 

ssh免密码登录:
know_hosts文件的作用:
ssh会把每个你访问过计算机的公钥(public key)都记录在~/.ssh/known_hosts。当下次访问相同计算机时,SSH会核对公钥。如果公钥不同,OpenSSH会发出警告, 避免你受到DNS Hijack之类的攻击

ssh-keygen   -t rsa  -P ' '
ssh-copy-id    -i    /root/.ssh/id_rsa.pub    root@115.159.210.36   或  scp  /root/.ssh/id_rsa.pub    root@115.159.210.36:/root/.ssh/authorized_keys



编写个脚本在一台服务器执行后,实现对所有管理的服务器执行同样的命令,写出实现条件和步骤及脚本程序(如 : cmd.sh   uptime   cmd.sh 即脚本程序, uptime 需要在所有服务器上执行的命令,执行将会看到所有服务器的 uptime 结果)

#!/bin/bash     
#前提条件免密码登录
for   num    in    1  10 20
do 
ssh   root@192.168.10.$num    >  /dev/null  2>&1  << remotessh
uptime
ls  -l
exit
remotessh
done





  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值