zoukankan      html  css  js  c++  java
  • scp ssh-key连接原理

    scp ssh-key连接原理

     

    如何关闭位置解析

    vim手动打开ssh的配置文件修改81行和122行,位置解析需要双方都关闭

    image_1cpmd4dgcvmo1ra31bgt1vtruld3a.png-11.2kB 
    image_1cpmd6ube19ldm1p1b2pv4210dj3n.png-45.3kB 
    image_1cpmdaqok13regc6ebo14sm1h5h44.png-22.9kB

     

    注意重点部分

    image_1cpmju6raa3ojm7jl31e1438qc4.png-42.3kB

     

    ssh特别提醒

    image_1cpj7reqk3nreav1qqub4q11nd9.png-203.9kB

     

    22端口信息

    image_1cpjco9rh13rbh4h12hh1mfb2nu9.png-85.6kB

     

    连接前提

    远程连接双方都需要提前安装openssh-clientts软件包也就是scp命令

     

    ssh远程连接

    远程连接:ssh -p 22 root@192.168.200.100:22 
    不写端口,不写用户,默认是22端口和roo用户,-p指定端口,root@是用户

    image_1cpjql7gfto67ar17uo3ah2m849.png-26.7kB

     

    scp远程复制

    远程复制:scp /etc/hosts root@192.168.200.100:/etc/hosts 
    远程复制不会提示yes或no,直接把/etc/hosts覆盖,:后是路径

    image_1cpjqushv1jr71kfubl1i7k7dc9.png-45kB 
    image_1cpjqvife1g051p3f1dk52fu1saqm.png-20.1kB

    可以把对方客户端的东西复制到自己当前在的目录

    image_1cpjrep6aps1sa412k8fpuhm120.png-7.9kB 
    image_1cpjrd89e1dpm1h5sqcs11cm11s11j.png-29.2kB

     

    ssh-key交互生成密钥对

    ssh-keygen:生成密钥对命令 ssh-copy-id:分发密钥对命令 
    rsa指的是加密算法 密钥对密码:什么都不输入就代表不需要密码登陆 
    id_rsa:私钥(放客户端) id-rsa.pub:公钥(放服务端)

    image_1cpmcojdfbuc10vk1fjbvll9192t.png-49kB

    放密钥对的目录权限不能过大,只能700 
    如果客户端或服务端家目录下没有隐藏的.ssh目录,需要手动创建目录并修改权限

    image_1cpmch8t81e527bv16au18k1gsv13.png-10.1kB 
    image_1cpmcindom6jgrmm93e075c81g.png-10kB

    scp .ssh/id_rsa.pub 192.168.200.100:~/.ssh/ 
    因为是从客户端复制到服务端所以是id_rsa.pub文件 
    远程复制完后在服务端查看并把公钥重定向到authorized_keys免钥匙文件里 
    这回客户端登陆服务端就不需要输入任何密码了 
    因为密钥都是在root用户家目录下所以只能root登陆免密钥 
    要想普通用户免登陆密码需要把密钥放在普通用户的家目录里 
    没有目录则需要手动创建目录并附700权限,authorized_keys文件需要属主改成普通用户,权限是644

    image_1cpmdj52r996nrs1ubvjq41qus4h.png-21.2kB
    image_1cpmdjucgontenhl6a1eo2h4t6e.png-13.2kB 
    image_1cpmdtjilvtgt2q11r4qs1g8v6r.png-15.9kB 
    image_1cpmduvvt1r5robbnormj773c78.png-12kB

     

    ssh-key非交互生成密钥对

    ssh-keygen -t dsa -f ~/.ssh/id_dsa -P "" 
    -t指定加密算法,-f生成的密钥放在哪里,-P是密码不写是空

    image_1cpmgei1p1g90gth1tst1b42dj97l.png-39.8kB

    ssh-copy-id -i ~/.ssh/id_dsa.pubyunjisuan@192.168.200.66 
    -i告诉你要分发什么密钥文件后面是分发的用户和IP,输入指定的普通用户密码生成 
    查看生成的密钥文件目录,目录700,属主普通用户,密钥文件authorized_keys

    image_1cpmgpac311l81puo6i91097bvt82.png-38.1kB
    image_1cpmgu45210r1to6cp71hc0cbv8s.png-54kB

    连接普通用户测试并免密码进入普通用户

    image_1cpmh1m8ga6jpcf3or1usa6v199.png-17.1kB

     

    sshpass免密生成分发密钥对

    sshpass需要云yum安装软件包

    image_1cpmhd3p48s4vpsovr1emqhsr9m.png-21.4kB

    ssh-keygen -t dsa -f ~/.ssh/id_dsa -P "" 
    -t指定加密算法,-f生成的密钥放在哪里,-P是密码不写是空 
    sshpass -p "123123" ssh-copy-id -i ~/.ssh/id_dsa.pub yunjisuan@192.168.200.66 
    -p代表指定密码,-i告诉你要分发什么密钥文件后面是分发的用户和IP,免密码生成

    image_1cpmi2od013o16v11rjjdc34f4a3.png-66.2kB
    image_1cpmi8s45j9j9o2p0o1orp1rs6ag.png-38.7kB

    连接普通用户测试并免密码进入普通用户

    image_1cpmia2gl19ai1sbfh9die21k33at.png-19.5kB

     

    known_hosts文件完全分发

    known_hosts文件是记录每次连接的信息,把他清空了,每次连接虽然是免密不过提示是否记录对方主机信息

    image_1cpmiio361u4r166f11qn6rctd4ba.png-98.3kB

    sshpass -p "123123" ssh-copy-id -i ~/.ssh/id_rsa.pub "-o StrictHostKeyChecking=no yunjisuan@192.168.200.66" 
    sshpass -p:密码,免交户输入密码 
    ssh-copy-id -i:指定公钥文件路径 
    -o StrictHostKeyChecking=no:不记录对方主机信息 
    vim /etc/ssh/ssh_config:把35行注释开启,后面改成no也不需要记录对方主机信息,ask是询问,重启sshd服务

    image_1cpmj9le2157j1ef7d1s37dqhlbn.png-62.3kB

  • 相关阅读:
    Java学习-IO流-read()和write()详解
    JAVA中String类常用构造方法
    java的System.exit(0)和System.exit(1)区别。
    Eclipse快捷键大全
    Java Arraylist的遍历
    Java Map的遍历
    C++求最大公约数,最小公倍数
    C++sort使用实例
    [Project Euler] 题目汇总
    [leetcode]做过的题的目录
  • 原文地址:https://www.cnblogs.com/A6666/p/9995235.html
Copyright © 2011-2022 走看看