配置Centos7 SSH密钥登陆及密码密钥双重验证

一、首先登陆centos,切换用户,切换到你要免密码登陆的用户,进入到家目录,以下我以root为例,命令:
su root
cd ~

二、创建钥匙,命令:ssh-keygen -t rsa,一路按Y搞定

三、按照流程走完后会在 ~/.ssh目录下(用户所在家目录下的.ssh目录)看到id_rsa, id_rsa.pub文件 第一个是私有密钥 第二个是公共密钥

四、修改SSH配置文件,命令:vim /etc/ssh/sshd_config

#禁用root账户登录,如果是用root用户登录请开启
PermitRootLogin yes

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

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

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

五、因为在第四步指定了AuthorizedKeysFile的放置位置为.ssh/authorized_keys,所以还需把公钥数据id_rsa.pub附加到 authorized_keys 这个档案内才行,命令:
cd ~/.ssh
cat id_ras.pub >> authorized_keys

重启SSH服务,命令:systemctl restart sshd.service

六、下载私钥,这里我使用了rz/sz工具(你也可以使用其他方式),系统默认没有安装,先安装,命令:yum -y install lrzsz
SecureCRT配置:选项→会话选项→X/Y/Zmodem,修改上传和下载的目录。
现在开始下载,命令:
cd ~/.ssh
sz id_ras
然后到你之前配置的下载目录去找,把私钥导入到SecurtCRT,方法:
选项→会话选项→SSH2,在鉴权一栏中点击公钥(注意因为前面已经禁用了密码登陆,我们还得把密码这一栏的勾去掉,否则会无法登陆),点属性,点击使用会话公钥设置,然后在下方的使用身份或证书文件中,选择你刚才下载来的私钥文件,点确定即可。

七、以上所有配置完成,看网上别的教程还说要注意各文件权限问题,我做实验的过程没有遇到,也可能我使用的是root用户的原因,如果你们在过程中有权限报错,建议权限设置:
~/.ssh/                     700
.ssh/authorized_keys        644
.ssh/id_rsa                 600  且属于你当前要添加的用户

八、让服务器更安全,开启密码和证书双重验证,先修改SSH配置文件:
vim /etc/ssh/sshd_config

PasswordAuthentication 改为yes

然后再加一条:uthenticationMethods publickey,password
重启SSH服务:systemctl restart sshd.service
SecureCRT配置:因为之前在第六步中把密码去掉了,还得把它再勾起来,选项→会话选项→SSH2,把密码这一栏勾起来即可。

个人经验:在配置完成后不要关闭当前SecurtCRT的连接窗口,你可以使用新建连接尝试登陆,以免配置出错,造成服务器无法登陆。

时间: 2024-11-03 22:51:56

配置Centos7 SSH密钥登陆及密码密钥双重验证的相关文章

SSH密钥登陆免密码方法

原帖地址:http://ask.apelearn.com/question/798 用Putty实现A机器远程登陆B机器,具体实现请看链接:http://www.cnblogs.com/ImJerryChan/p/6002508.html Linux密钥免密码登陆方法如下:在A机器上输入命令: ssh-agent 然后回车 运行后,出现三行,类似于: SSH_AUTH_SOCK=/tmp/ssh-mviGZr1522/agent.1522; export SSH_AUTH_SOCK; SSH_A

ssh 配置 及免密码 密钥登陆

前言: 整理下很久之前做异地备份.数据同步都有使用到的ssh免密码通过密钥登陆的步骤. 出于安全考虑,需要对ssh服务做下简单配置 说明: 服务端:既服务器(或异地保存数据的目的机),或理解为IP通信中的目的地址 客户端:既工作站,个人电脑(或数据源服务器),或理解为IP通信中的源地址 思路: 要做的有几个地方: 默认服务端口修改(可以避免部分针对22端口的暴力破解或扫描) ssh版本协议(这个现在基本默认就是版本2) 禁止root账户ssh登陆 自定义登陆消息(可以给非本人的登陆行为一个友好提

ssh的配置,ssh打开密钥登陆,关闭密码登陆。

刚装玩fedora,那么我们就以fedora为例来说一下怎么配置: 1.先确认是否已安装ssh服务: [[email protected] ~]# rpm -qa | grep openssh-server openssh-server-5.3p1-19.fc12.i686 (这行表示已安装) 若未安装ssh服务,可输入: #yum install openssh-server 进行安装 2.winscp登陆,用root密码登陆. 3.修改配置文件: #vi /etc/ssh/sshd_conf

SSH之密钥登陆

SSH之密钥登陆  1.背景介绍 平时我们都是通过输入账号和密码的方式登陆远程终端,那有没有其他的玩法呢?答案是:当然有!下面就介绍一种通过密钥的方式登陆ssh. 工具准备:一台电脑(推荐win10),一台虚拟机(推荐vmware workstation11),ssh登陆工具(xshell,securecrt,putty,推荐xshell),linux系统(redhat,centos,debian,ubuntu,推荐centos7.3). 下面开始动手操作. 2.实验步骤 假设你已经通过ssh工

《Ansible权威指南》笔记(1)——安装,ssh密钥登陆,命令

2016-12-23 读这本<Ansible权威指南>学习ansible,根据本书内容和网上的各种文档,以及经过自己测试,写出以下笔记.另,这本书内容很好,但印刷错误比较多,作者说第二版会改进,还没买的小伙伴们可以买第二版. 一.安装1.安装要求:控制服务器:需要安装Python2.6/2.7被管理服务器:需要安装Python2.4 以上版本,若低于Python2.5 需要安装pythonsimplejson;若启用了selinux,则需要安装libselinux-python 2.yum安装

Centos7 ssh免密码登陆

摘要:安装openssl openssl-devel 不过有些centos自带 192.168.161.5  192.168.161.15 本版本用centos7 (192.168.161.5) yum -y install openssl openssl-devel 接着 ssh-keygen -t rsa #生成公钥密钥 一直默认回车到底 cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys ssh-copy-id -i 192.168.16

linux学习 网卡配置 &nbsp; putty密钥登陆

一. linux配置网卡 1)自动获得ip 假如是DHCP用户端使用dhclient获得ip地址 2)手动配置 [[email protected] ~]#ifconfig    #查看ip地址 [[email protected] ~]#vim /etc/sysconfig/network-scripts/ifcfg-eth0   #打开网卡配置文件 修改如下: ONBOOT=no              改成yes            #开机启动 BOOTPROTO=dhcp      

多个网站使用不同的SSH密钥登陆(zz)

多个网站使用不同的SSH密钥登陆 1.创建不同的SSH密钥, -t指定加密方法,RSA或DSA:-C注释:-f指定文件名 www.2cto.com ssh-keygen -t dsa -C "email.xxx" -f ~/.ssh/xxx 以上命令在~/.ssh/下生成xxx密钥对 2.编辑 ~/.ssh/config  文件,配置格式示例: Host github.com www.github.com IdentityFile ~/.ssh/code_github Host bit

MAC SSH密钥登陆

MAC SSH密钥登陆: 一般mac如果想通过ssh密钥登陆,常规的做法,自己生成密钥对,这样做的好处就是,自己只保留私钥即可,公钥 可以放置任意服务器, 如果接受别人给的私钥,只能存一个,如果有多个私钥给你,就不方便管理,所以建议自己生成密钥对,公钥上传服务器,具体步骤如下: 1.通过mac终端,ssh-keygen -t rsa -C"[email protected]"生成密钥对,公钥上传到服务器对应用户的.ssh/authorized_keys 2.本地可通过ssh  [ema