centos7 服务器部署ssh证书受权登陆

使用ssh证书受权登陆的必要性

普通用户登陆时,以往的作法每每是使用帐号密码登陆,可是这样的登陆方式风险至关高,使用密钥登陆能大大下降这个风险,这个密钥是针对每台计算机生成的独一无二的凭证,保存在登陆用户的电脑中,只能经过登陆用户电脑的证书受权才能登陆服务器。shell

登陆用户电脑操做

创建~/.ssh目录(若是没有)

shellls -al ~/.ssh

根据邮箱建立私钥

shellssh-keygen -t rsa -b 4096 -C "your_email@example.com"

按照流程走完后会在 ~/.ssh目录下看到id_rsa, id_rsa.pub文件 第一个是私有密钥 第二个是拥有密钥vim

复制id_rsa.pub中的内容(mac)

shellcat id_rsa.pub | pbcopy

服务器配置(centos7)

shellvim /etc/ssh/sshd_config

将以下配置前的#号去掉centos

ruby#禁用root帐户登陆,若是是用root用户登陆请开启
PermitRootLogin yes

# 是否让 sshd 去检查用户家目录或相关档案的权限数据,
# 这是为了担忧使用者将某些重要档案的权限设错,可能会致使一些问题所致。
# 例如使用者的 ~.ssh/ 权限设错时,某些特殊状况下会不准用户登入
StrictModes no

# 是否容许用户自行使用成对的密钥系统进行登入行为,仅针对 version 2。
# 至于自制的公钥数据就放置于用户家目录下的 .ssh/authorized_keys 内
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys

# 有了证书登陆了,就禁用密码登陆吧,安全要紧
PasswordAuthentication no

将密钥写到一张文件去 如test 而后将这个文件导入 ~/.ssh/authorized_keys

shellcat test >> ~/.ssh/authorized_keys

启动ssh服务

shellservice sshd start

有可能会提示安全

shellRedirecting to /bin/systemctl start  sshd.service

只要按照提示操做就能开启ssh服务ruby

shell/bin/systemctl start  sshd.service

这样一来在计算机持有密钥的状况下就能够不使用帐号密码登陆服务器了

相关文章
相关标签/搜索