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

  • 相关阅读:
    【已解决】github中git push origin master出错:error: failed to push some refs to
    好记心不如烂笔头,ssh登录 The authenticity of host 192.168.0.xxx can't be established. 的问题
    THINKPHP 5.0目录结构
    thinkphp5.0入口文件
    thinkphp5.0 生命周期
    thinkphp5.0 架构
    Django template
    Django queryset
    Django model
    Python unittest
  • 原文地址:https://www.cnblogs.com/A6666/p/9995235.html
Copyright © 2011-2022 走看看