• 云途科技成立于2010年 - 专注全球跨境电商服务器租赁托管!
  • 帮助中心

    您可以通过下方搜索框快速查找您想知道的问题

    Ubuntu SSH密钥远程登陆VPS(CentOS)以及多SSH-KEY管理

      in  独立服务器      Tags: 

    环境
    本地:Ubuntu
    运程主机vpscentos7
    免输密码设置
    多远程主机vps对应多ssh key设置
    多远程主机vps公用一个ssh key设置
    更改ssh默认端口详见:VPS-CentOS 7-Secrity

    说明:为了保护隐私,本文涉及本人vps地址的用1.1.1.1代替。

    本地生成公钥与私钥匙

    Ubuntu下生成ssh公钥和私钥,
    若想免密码登陆,这里不设密码,本人为了安全还是设置了,后面有专门讲解免输入密码。

    SSH-KEYgen -t rsa

    输出

    Generating public/private rsa key pair.
    Enter file in which to save the key (/home/augustdoit/.SSH/id_rsa):     ##直接回车=默认路径,或者自己填写
    Created directory '/home/augustdoit/.SSH'.
    Enter passphrase (empty for no passphrase):                             ##输入密码(不设密码则直接回车)
    Enter same passphrase again:                                            ##重复密码
    Your identification has been saved in /home/augustdoit/.SSH/id_rsa.
    Your public key has been saved in /home/augustdoit/.SSH/id_rsa.pub.
    The key fingerprint is:
    SHA256:+kIoJPxSwZ2LkwFJp6UMZ4J17kokSuVXUaZSEgA37U4 augustdoit@augustdoit
    The key's randomart image is:
    +---[RSA 2048]----+
    |==OB=oo+oo       |
    |+=O*.++ o        |
    |o=..Bo..         |
    |++.*.E.          |
    |.o+ =.  S        |
    | o.o....         |
    |  o. ..          |
    |      ..         |
    |       ..        |
    +----[SHA256]-----+

    生成的公钥、私钥保存在/home/augustdoit/.ssh/目录下
    公钥:id_rsa.pub
    私钥:id_rsa

    参数说明
    参数-t rsa 表示使用rsa算法进行加密(也可指定为dsa算法)
    参数-b 4096 设置采用的字节长度,默认2048,变态点可以选4096,生成的时间稍长点。

    将公钥上传到远程主机VPS

    ssh登陆远程主机VPS,创建.ssh目录(如果有则忽略)

    ssh root@1.1.1.1
    mkdir.ssh

    上传公钥

    本地Ubuntu新建一个终端,注意替换id_rsa.pub以及远程主机VPS的地址

    scp /home/augustdoit/.ssh/id_rsa.pub root@1.1.1.1:~/.ssh/

    如图

    上传公钥

    远程主机VPS导入公钥,设置权限

    回到ssh登陆远程主机VPS那个终端

    导入公钥

    cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys

    设置权限

    cd /root/.ssh/
    
    chmod 600 authorized_keys

    修改sshd配置文件

    vi /etc/ssh/sshd_config

    找到下面行,确保前面的#已删除

    RSAAuthentication yes         //centos7有些版本可能不含这行,不用管
    PubkeyAuthentication yes
    AuthorizedKeysFile    .ssh/authorized_keys
    PasswordAuthentication no        //免密码,下有说明

    重启ssh服务

    service sshd restart

    SSH KEY

    关于免输入密码登陆

    涉及的密码包括两个
    1.远程主机用户例如root的密码
    2.生成ssh key的密码

    上面更改的

    PasswordAuthentication no

    针对的是远程主机用户例如root的密码,不能免除ssh key的密码。
    所以若想完全免输密码,生成key的过程也不要设置密码。

    多SSH KEY管理

    如果要管理多个ssh key,需要在用户主目录下的 .ssh文件夹下新建并配置config文件。

    两种情况
    多个远程主机VPS共用一个密钥id_rsa
    多个远程主机VPS对应多个密钥id_rsa

    多个远程主机VPS共用一个密钥id_rsa

    远程服务器vps11.1.1.1
    远程服务器vps22.2.2.2

    本地Ubuntu

    cd 
    vi .ssh/config

    添加

    Host 1.1.1.1
    IdentityFile ~/.ssh/id_rsa
    User root
    
    Host 2.2.2.2
    IdentityFile ~/.ssh/id_rsa
    User root

    参数含义如下

    HostName  主机名/IP
    User      用户名
    IdentityFile 密钥文件的路径
    Port 端口号
    DynamicForward 本地端口号

    测试结果

    多个远程主机VPS共用一个密钥`id_rsa`

    多个远程主机VPS对应多个密钥id_rsa

    注意:
    本地生成多套公钥与私钥,可以设置生成的目录,在执行SSH-KEYgen -t rsa前需要先创建好目录。
    例如/home/augustdoit/.ssh/vps2/id_rsa
    创建目录
    cd .ssh
    mkdir vps2
    SSH-KEYgen -t rsa 此时设置目录为/home/augustdoit/.ssh/vps2/id_rsa
    上传、导入、设置权限以及更改配置文件这里不再说了,上面有

    确保远程服务器上传的id_rsa.pub与本地id_rsa对应

    远程服务器vps11.1.1.1 对应 /home/augustdoit/.ssh/id_rsa
    远程服务器vps22.2.2.2 对应 /home/augustdoit/.ssh/vps2/id_rsa

    修改config文件

    cds
    vi .ssh/config

    改为

    Host 1.1.1.1
    IdentityFile ~/.ssh/id_rsa
    User root
    
    Host 2.2.2.2
    IdentityFile ~/.ssh/vps2/id_rsa
    User root

    测试结果

    多个远程主机VPS对应多个密钥`id_rsa`


    • 外贸虚拟主机

      1GB硬盘

      2个独立站点

      1000M带宽

      不限制流量

      美国外贸专用虚拟主机,cPanel面板,每天远程备份.
      服务器配置:2*E5 32核,96GB 内存,4*2TB 硬盘 RAID10 阵列.

      ¥180/年

    • 美国/荷兰外贸VPS

      2核CPU

      1G内存

      30硬盘

      10M带宽

      美国/荷兰外贸云服务器,专注外贸服务器行业12年.
      服务器配置:2*E5 32核,96GB 内存,4*2TB 硬盘 RAID10 阵列.

      ¥99/月

    • 全球外贸服务器

      8核CPU

      32G内存

      1TB硬盘

      1000M带宽

      已部署数据中心:美国洛杉矶/亚特兰大、荷兰、加拿大、英国伦敦、德国、拉脱维亚、瑞典、爱沙尼亚
      自有机柜(全球九大数据中心),稳定在线率:99.9%

      ¥999/月 原价1380

    7*24小时 在线提交工单

    如果您的问题没有得到解决,推荐您在线提交工单,我们的客服人员会第一时间为您解决问题

    展开