码迷,mamicode.com
首页 > 其他好文 > 详细

SSH原理与运用

时间:2018-04-22 19:56:06      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:ssh   SSH   远程主机   

一、SSH介绍及特性

?
1、介绍
ssh命令是openssh套件中的客户端连接工具,可以给予ssh加密协议实现安全的远程登录服务器。

具体的软件实现: 
    OpenSSH: ssh协议的开源实现,CentOS默认安装 
    dropbear:另一个开源实现 
SSH协议版本 
    v1: 基于CRC-32做MAC,不安全;man-in-middle 
    v2:双方主机协议选择安全的MAC方式 
    基于DH算法做密钥交换,基于RSA或DSA实现身份认证 
两种方式的用户登录认证:
    基于password 
    基于key
    端口号:22
    -------------------------------------------------------------------------------------
ssh, 配置文件:/etc/ssh/ssh_config 
    Host PATTERN 
        StrictHostKeyChecking no 首次登录不显示检查提示 
格式:ssh [user@]host [COMMAND] 
           ssh [-l user] host [COMMAND] 
             -p port:远程服务器监听的端口 
             -b:指定连接的源IP 
             -v:调试模式 
             -C:压缩方式 
             -X: 支持x11转发 
             -Y:支持信任x11转发 
            -t:  强制伪tty分配 
                ssh -t remoteserver1 ssh remoteserver2

?
技术分享图片
?

?
2、ssh服务三种登录验证
当用户远程连接ssh服务器时,会复制ssh服务器 /etc/ssh/ssh_host*key.pub(CentOS7默认是 ssh_host_ecdsa_key.pub)文件中的公钥到客户机的 ~./ssh/know_hosts中。下次连接时,会自动匹配相应私钥 ,不能匹配,将拒绝连接

①基于用户和口令登录验证
1.客户端发起ssh请求,服务器会把自己的公钥发送给用户
2.用户会根据服务器发来的公钥对密码进行加密
3.加密后的信息回传给服务器,服务器用自己的私钥解密, 如果密码正确,则用户登录成功、
技术分享图片

?


②基于密钥的登录方式 :
1.首先在客户端生成一对密钥(ssh-keygen)
2.并将客户端的公钥ssh-copy-id 拷贝到服务端
3.当客户端再次发送一个连接请求,包括ip、用户名
4.服务端得到客户端的请求后,会到authorized_keys中 查找,如果有响应的IP和用户,就会随机生成一个字符串 ,例如:acdf
5.服务端将使用客户端拷贝过来的公钥进行加密,然后发 送给客户端
6.得到服务端发来的消息后,客户端会使用私钥进行解密 ,然后将解密后的字符串发送给服务端
7.服务端接受到客户端发来的字符串后,跟之前的字符串进 行对比,如果一致,就允许免密码登录
技术分享图片


?

③基于key认证 
(1) 在客户端生成密钥对 
    ssh-keygen -t rsa [-P ‘‘] [-f “~/.ssh/id_rsa"] 
    (2) 把公钥文件传输至远程服务器对应用户的家目录 
    ssh-copy-id [-i [identity_file]] [user@]host
(3) 测试 
(4) 在SecureCRT或Xshell实现基于key验证 在SecureCRT工具—>创建公钥—>生成Identity.pub文件 转化为openssh兼容格式(适合SecureCRT,Xshell不需要转化 格式),并复制到需登录主机上相应文件authorized_keys中, 注意权限必须为600,在需登录的ssh主机上执行: 
    ssh-keygen -i -f Identity.pub >> .ssh/authorized_keys
(5)重设私钥口令: 
    ssh-keygen –p 
(6)验证代理(authentication agent)保密解密后的密钥 
    这样口令就只需要输入一次 
    在GNOME中,代理被自动提供给root用户 
    否则运行ssh-agent bash 
(7)钥匙通过命令添加给代理 
    ssh-add

二、SSH转发特点

? 

SSH原理与运用

标签:ssh   SSH   远程主机   

原文地址:http://blog.51cto.com/11566825/2106555

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!