zoukankan      html  css  js  c++  java
  • 阿里云ECS利用密钥对ssh登录服务器

    https://blog.csdn.net/u012865381/article/details/78521087/

    1.在服务机上操作
    创建要远程登录的用户和密码

    [root@izwz97s23bov6qmem6poj8z ~]# useradd jundong
    [root@izwz97s23bov6qmem6poj8z ~]# passwd jundong
    New password:
    Retype new password:
    passwd: all authentication tokens updated successfully.


    2.在客户机上操作(其他机器也行,主要是用来创建密钥对)
    2.1.创建ssh-key

    [root@node1 ~]# ssh-keygen
    Generating public/private rsa key pair.
    Enter file in which to save the key (/root/.ssh/id_rsa):
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in /root/.ssh/id_rsa.
    Your public key has been saved in /root/.ssh/id_rsa.pub.
    The key fingerprint is:
    SHA256:W05lCKLqZ8FWTyAwTsUrBzg7HRzZfZ8ZbacHg/Wnf6c root@node1
    The key's randomart image is:
    +---[RSA 2048]----+
    | o=Bo.o .  +.    |
    |oo=.oo.o..o.=..  |
    | +.o.......=o=. .|
    |o ooo. o  +o. .o |
    | ..o+   S o  ..  |
    | . . .   =     . |
    |  . o   . .     +|
    |   o           .o|
    |              E  |
    +----[SHA256]-----+


    2.2.把生成的的秘钥拷贝到服务器,
    两种可选方式

    方式一:可以手动拷贝
    手动拷贝刚刚生成的公钥id_rsa.pub(在当前用户家目录的.ssh/id_rsa.pub),将里面的内容追加到要登录的服务器的目标用户家目录下的.ssh/ authorized_keys中,这里是/home/jundong.ssh/ authorized_keys

    方式二:直接用命令拷贝
    ssh-copy-id可以方便快捷地把公钥追加到到服务端的authorized_keys文件中,注意用户名,输入密码

    ssh-copy-id jundong@120.78.150.47


    我的操作

    [root@node1 ~]# ssh-copy-id jundong@120.78.150.47
    /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
    The authenticity of host '120.78.150.47 (120.78.150.47)' can't be established.
    ECDSA key fingerprint is SHA256:KwfKwzN4xqw7/VxoVw5IoTi0NhUPZ+h2fSQXi3zgXXY.
    ECDSA key fingerprint is MD5:22:b0:8e:c0:21:e6:96:b1:de:bd:bd:c4:08:d9:bf:4d.
    Are you sure you want to continue connecting (yes/no)? yes
    /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
    /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
    jundong@120.78.150.47's password:
    
    Number of key(s) added: 1
    
    Now try logging into the machine, with:   "ssh 'jundong@120.78.150.47'"
    and check to make sure that only the key(s) you wanted were added.

    方式三:在阿里云控制台导入
    【在控制台导入证书,阿里云做的事是:将公钥追加到/root/.ssh/authorized_keys中;修改/etc/ssh/sshd_config,把PasswordAuthentication改成no】

    1.这种方式会默认把密码登录禁用,只能使用秘钥登录,可以自己手动打开(修改/etc/ssh/sshd_config,把PasswordAuthentication改成yes)

    2.这种方式只能使用root用户登录,其他用户不能使用这种方式导入,因为控制台导入只会导入到/root/.ssh/authorized_keys,不会导入到其他用户目录

    复制刚刚生成的公钥id_rsa.pub(在当前用户家目录的.ssh/id_rsa.pub),这里是/home/jundong.ssh/ authorized_keys,粘贴到控制台的文本框确定即可,再将密钥对绑定到指定服务器


    参考链接:https://help.aliyun.com/document_detail/51794.html?spm=5176.doc51793.6.707.1A6GMv

    3.测试
    3.1在生成秘钥那台客户机上

    [root@node1 ~]# ssh jundong@120.78.150.47
    
    Welcome to Alibaba Cloud Elastic Compute Service !
    
    [jundong@izwz97s23bov6qmem6poj8z ~]$

    3.2在其他工具上
    拷贝生成的秘钥对的私钥/home/jundong/.ssh/id_rsa(在当前用户家目录的.ssh/id_rsa)到你想要用来登录的客户机,指定其为登录的私钥和对应的用户名即可

    提示使用密钥文件登录了


    windows下其他工具应该也是类似的

    【推荐使用Linux下自带的ssh-keygen工具生成公钥和私钥,这样的证书是通用的。在putty或者secureCRT生成的证书会是其他格式或者是带有工具特有的信息,这些证书可能在其他工具无法使用,例如:在SecureCRT生成的证书,putty可能就不能用了】
    ---------------------
    作者:谢谢俊东不用谢
    来源:CSDN
    原文:https://blog.csdn.net/u012865381/article/details/78521087/
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    用c#开发微信 (7) 微渠道
    Swift语言精要
    Android开发点滴
    UITableViewAutomaticDimension
    iOS中ActionSheet和Alert的区别
    本博客申明
    iOS中重用UITableView单元格时,千万别忘了这个
    Swift 2 语言精要
    Objective-C中NSString与int和float的相互转换
    Android Studio常用快捷键
  • 原文地址:https://www.cnblogs.com/rxbook/p/10536370.html
Copyright © 2011-2022 走看看