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 ~]$
原文地址:https://www.cnblogs.com/shenfeng/p/mac_sshpubkey_to_linux.html