zoukankan      html  css  js  c++  java
  • linux下ssh通过公钥登录服务器

    经常会通过ssh登录远程服务器,一种是通过密码方式登录,一种是通过公钥登录。

    如何设置通过公钥登录服务器

    1. 首先生成自己的公钥和私钥

    ssh-keygen 命令用来生成公钥和私钥
        -t 用来指定密钥类型(dsa | ecdsa | ed25519 | rsa | rsa1)
        -p 用来指定密码短语
        -C 用来添加注释
    
    比如
    ssh-keygen -t rsa -C "mykey"

    此时,会在存放ssh秘钥的地方生成两个文件(不同系统,存放秘钥的地方不同),“.pub”结尾的是公钥,另一个是私钥

    2. 第二步,将公钥部署到服务器

    公钥需要写入到服务的  ~/.ssh/authorized_key文件中,这里我通过sftp将公钥上传到服务器,然后将文件内容写入到  ~/.ssh/authorized_key文件中

    上传公钥到服务器
    sftp root@yourhost -p 22
    
    put  mykey.pub 
    
    将文件写入authorized_keys中
    cat mykey.pub >> ~/.ssh/authorized_keys
    chmod 600 ~/.ssh/authorized_keys

    3. 设置服务器ssh的可以通过公钥登录

    打开/etc/sshd_config文件,修改如下配置

    RSAAuthentication yes
    PubkeyAuthentication yes
    AuthorizedKeysFile  .ssh/authorized_keys

    4. 重启ssh服务,就可以通过公钥登录了

    sudo service ssh restart

    ssh客户端配置文件

    当主机较多的时候,不方便记住所有的IP、用户、端口以及密码,为了解决这个问题我们可以使用一个ssh的配置文件来记录这些服务器。

    常用的配置

    Host 主机别名
    HostName 主机地址
    User 登陆用户名
    Port 端口号
    IdentityFile 私钥路径

    在~/.ssh/目录下创建一个config文件,在config中写入相应的配置后就可以使用 ssh  <主机别名> 直接连接服务器了

  • 相关阅读:
    Python之二维数组(list与numpy.array)
    too many values to unpack
    python 寻找可迭代(list)的目标元素的下表方法
    zip函数
    map函数
    Sokcet代码错误类型
    PL-VIO Docker测试
    如何检索国外博士论文
    EuRoc V203数据集的坑
    Tracking of Features and Edges
  • 原文地址:https://www.cnblogs.com/time-read/p/9642324.html
Copyright © 2011-2022 走看看