• ssh学习小记


    ssh 为Secure SHell 的缩写。OpenSSH: ssh协议的开源实现。

       SSH协议版本

    v1: 基于CRC-32做MAC,不安全;man-in-middle
    v2:双方主机协议选择安全的MAC方式
    基于DH算法做密钥交换,基于RSA或DSA实现身份认证

    OpenSSH实现的客户端,服务端

    C/S架构
    C: ssh, scp, sftp
    Windows客户端:
    xshell, putty, securecrt, sshsecureshellclient
    S: sshd

    ssh客户端

    客户端组件:
    ssh, 配置文件:/etc/ssh/ssh_config
    Host PATTERN
    StrictHostKeyChecking no 首次登录不显示检查提示
    命令登录格式:ssh [user@]host [COMMAND]
    -p port:远程服务器监听的端口
    -b:指定连接的源IP
    -v:调试模式
    -C:压缩方式
    -X: 支持x11转发
    -Y:支持信任x11转发
    ForwardX11Trusted yes
    -t:  强制伪tty分配
    ssh -t remoteserver1 ssh remoteserver24040
    允许实现对远程系统经验证地加密安全访问
    当用户远程连接ssh服务器时,会复制ssh服务器
    /etc/ssh/ssh_host*key.pub(centos7.0默认是ssh_host_ecdsa_key.pub)文件中的公钥到客户机的~./ssh/know_hosts中。下次连接时,会比较两处是否有不同。
     

    基于key认证

     (1) 在客户端生成密钥对
    ssh-keygen -t rsa [-P ''] [-f “/root/.ssh/id_rsa"]
    #ssh-keygen –t rsa –P ‘’  -f “/root/.ssh/id_rsa”
     (2) 把公钥文件传输至远程服务器对应用户的家目录
    ssh-copy-id [-i [identity_file]] [user@]host

    相当于将公钥内容追加在远程服务器~/.ssh/authorized_keys 文件中,若无则创建,且权限为600 

     (3) 测试
     (4) 转化为openssh兼容格式(适合SecureCRT,Xshell不需要转化格式),并复制到需登录主机上相应文件authorized_keys中,注意权限必须为600
    ssh-keygen -i -f Identity.pub >> .ssh/authorized_keys
     (5)重设私钥口令:#ssh-keygen –p 
    基于key认证
    验证代理(authentication agent)保密解密后的密钥
    • 这样口令就只需要输入一次
    • 在GNOME中,代理被自动提供
    • 否则运行ssh-agent bash

    关掉代理:ssh-agent -k 

    钥匙通过命令添加给代理
    ssh-add  #添加密语 ,默认文件为/root/.ssh/id_rsa 等标准文件名格式密钥

    ssh-add -L #查看以代理的私钥对应的公钥 文件

    ssh-add -d #删除以添加的密语

  • 相关阅读:
    HttpEntity转换Inputstream(红色)加XmlPull解析
    ImageLoader加载图片
    HttpClient——Get,Post
    Android例子源码非第三方实现根据字母排序的城市列表
    Android 仿QQ消息界面
    css折叠表格
    前端页面文字长度显示控制
    (首页上一页下一页尾页 + 下拉框跳转)分页功能
    基于bootstrap的分页插件
    HTML 禁止复制文字
  • 原文地址:https://www.cnblogs.com/cutemsyu/p/6017825.html
Copyright © 2020-2023  润新知