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  <主机别名> 直接连接服务器了

  • 相关阅读:
    show variables 详解
    用expect做自动应答脚本
    percona-toolkit工具检查MySQL复制一致性及修复
    Discuz论坛架构改造
    注解处理器
    ora-12514 tns 监听程序当前无法识别连接描述符中请求的服务
    内嵌Tomcat和SpringMVC的简单整合测试
    @Import导入ImportSelector实现类demo
    Mybatis-Spring项目编写测试类
    @Configuration注解作用和在Spring中的处理
  • 原文地址:https://www.cnblogs.com/time-read/p/9642324.html
Copyright © 2011-2022 走看看