• MAC OSX使用公钥方式登录Linux服务器并进行安全加固


    登录Linux服务器的方式一般是使用ssh,直接使用密码登录既要记忆密码在输入过程中又有安全风险。所以本文将提供一个使用公钥登录的方式来解决输入密码的问题。

    首先在mac上生成一个私钥、公钥对

    首先,请打开终端。可以使用spotlight直接搜索term,就可以点击应用打开。

    打开终端后输入下面的命令:

       $  ssh-keygen -t rsa -b 4096 -C 'test'
    
    # 其中 -t表示加密类型,这里使用rsa
    # -b表示加密位数
    # -C表示备注信息
    

    一路回车下去可以生成两个文件,id_rsa和id_rsa.pub文件。其中id_rsa为私钥文件,需要保存好,被别人获取的话别人也一样可以登录你的服务器。
    当然在生成私钥的过程中,也可以对私钥增加密码,那么每次使用私钥登录时都需要输入密码。

    本机放置私钥位置

    将私钥放到本地home目录的.ssh目录下。若没有.ssh目录,则新建一个目录。

    $ mkdir -p /home/test/.ssh
    $ cp id_rsa /home/test/.ssh
    

    将公钥上传到Linux服务器

    首先要确认你要使用公钥登录使用的用户,直接用该用户使用密码登录。
    然后新建.ssh和authorized_keys,给authorized_keys文件600权限,给.ssh文件夹700权限

    [test@vps ~]$ mkdir -p /home/camash/.ssh
    [test@vps ~]$ cd .ssh
    [test@vps .ssh]$ touch authorized_keys
    [test@vps .ssh]$ chmod 600 authorized_keys
    [test@vps .ssh]$ cd ..
    [test@vps ~]$ chmod 700 .ssh/
    

    然后在本地mac端口上新开一个term页签,使用scp将本地的公钥文件id_rsa.pub传送到Linux服务器上。

    $ scp id_rsa.pub test@vps:.ssh/
    

    使用cat命令将公钥追加到authorized_keys文件

    [test@vps .ssh]$ cat id_rsa.pub >> authorized_keys
    

    修改sshd_config的配置参数

    在Linux服务器上,使用root用户修改/etc/sshd_config文件的配置参数。使用以下参数打开公钥登录。

    RSAAuthentication yes
    PubkeyAuthentication yes
    AuthorizedKeysFile      .ssh/authorized_keys
    

    为了增加Linux服务器的安全强度,可以设置以下几个参数。不过请在确认使用公钥免密登录可行后再修改以下的参数。

    PermitEmptyPasswords no
    PasswordAuthentication no
    PermitRootLogin no
    Port 12222
    

    配置完成后,就可在Mac上进行登录测试。

    直接使用以下的命令,若一切顺利,不使用密码便可以连接到目标Linux服务器。

    $ ssh test@vps
    

    更近一步,若不想输入用户或者主机名,还可以使用config给这个访问增加一个别名

    首先,在.ssh下增加一个文件config

    $ touch config
    

    在config中按以下内容添加服务器的别名和登录信息。

    $ cat config
    Host        myvps #别名
    HostName    vps
    Port        12222
    User        test
    IdentityFile    ~/.ssh/id_rsa
    

    若要增加新的服务器信息,直接在config另起一段增加以上信息即可。

    文件建立完成之后,就可以使用别名的登录服务器。

    $ ssh myvps
    Last login: Sun Jan 17 22:31:31 2016 from xxx.xx.xx.xxxx
    [test@vps ~]$
  • 相关阅读:
    软件定义网络笔记(PART 1)
    软件架构-可视化
    nginx反向代理配置去除前缀
    年轻就该多尝试,教你20小时Get一项新技能
    LNMP架构部署(附:部署Discuz社区论坛Web应用)
    高级开发进阶:第一章:总篇
    pip和conda添加和删除镜像源
    Micro-PaaS(Docker+K8S)
    云平台概述
    1、Docker学习笔记
  • 原文地址:https://www.cnblogs.com/shenfeng/p/mac_sshpubkey_to_linux.html
Copyright © 2020-2023  润新知