欢迎来到李先生的博客

深山的鹿,不知归处;万般皆苦,只可自渡。
扩大
缩小

SSH原理及操作

1:公钥与私钥(public and private key

公钥:提供给远程主机进行数据加密的行为

私钥:远程主机收到客户端使用公钥加密数据后,在本地端使用私钥来解密

 

2:公钥与私钥进行数据传输时的角色示意图

  

 

因为网络连接是双向的,所以服务端与客户端互相拥有对方的公钥。

 

3:服务器与客户端进行连接的示意图

过程:

(1):服务器建立公钥文件

(2):客户端发送主动连接请求

(3):服务器发送公钥文件给客户端

(4):客户化记录或比对服务器的公钥文件及创建自己的密钥对

(5):返回客户端的公钥给服务端

(6):服务端接收,并开始解密

 

命令:

1:普通用法   ssh user@host   默认端口号为22

2:指定端口   ssh user@host -p port

3:重启ssh服务 /etc/init.d/sshd restart

4:查看22号端口 lsof -i:22

                       netstat -tlnp |grep ssh

 

rsync进行同步镜像备份:

1:在同一个主机,把/ll 备份到/mm

rsync -av /ll /mm

2:ssh形式

rsync -av -e ssh root@192.168.1.24:~/shell/ll /tmp

 

脚本:

1:每次连接都要输入密码

#!/usr/bin/expect

spawn ssh lile@10.0.0.160

#expect "(yes/no)?" {send "yes"}
expect "password:" { send "123456\r"}

interact

 

2:查看一个用户在一组远程主机上的运行时间,运行时间指的是系统加电后运行了多久

#!/bin/bash

IP="10.0.0.160 10.0.0.161 10.0.0.162"
user="lile"

for ip in $IP;
do
    utime=$(ssh $user@$ip uptime | awk '{print $3}')
    echo "$ip uptime" : $utime
done

 

SSH实现无密码自动登录

原理:

非对称加密技术:公钥、私钥,用ssh-keygen命令创建密钥,会有id_rsa(私钥)、id_rsa.pub(公钥)。客户端创建一对密钥之后,把公钥放在远程端的~/.ssh/authorized_keys下面,客户端的私钥放在~/.ssh目录中。SSH的相关配置信息可以在/etc/ssh/sshd_config中

 

posted on 2016-10-20 18:46  Captain_Li  阅读(487)  评论(0编辑  收藏  举报

导航