一、首先登陆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的连接窗口,你可以使用新建连接尝试登陆,以免配置出错,造成服务器无法登陆。

Centos7 SSH密钥登陆及密码密钥双重验证相关推荐

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

    一.首先登陆centos,切换用户,切换到你要免密码登陆的用户,进入到家目录,以下我以root为例,命令: su root cd ~ 二.创建钥匙,命令:ssh-keygen -t rsa,一路按Y搞 ...

  2. 【linux】云服务器的密钥登陆与密码登录相关注意事项

    先说结论: 保护云服务器的最佳步骤:使用密钥登陆,禁用密码登录. 绑定密钥以及使用远程登录软件登录服务器的过程请务必先以官方文档及视频为主准!!!这一步对了可以少走很多弯路.不要一来就去找别人的教程, ...

  3. python 登陆网站图片验证_登陆需要密码以及图片验证的网站 如知乎

    [实例简介] 登陆知乎 这样需要输入密码以及验证图片的网站 [实例截图] 无.. [核心代码] def land_zhihu(url, id, password): opener = makeMyOp ...

  4. linux系统密码正则,Linux密钥登录原理和ssh使用密钥实现免密码登陆

    目录 1.公私钥简介与原理 公钥和私钥都属于非对称加密算法的一个实现,这个加密算法的信息交换过程是: 1) 持有公钥的一方(甲)在收到持有私钥的一方(乙)的请求时,甲会在自己的公钥列表中查找是否有乙的 ...

  5. centos 7.9密码改密钥登陆

    1.前期使用密钥登陆,被其他人暴力破解 可以使用该命令,进行查看是否有登陆信息 tail -f /var/log/secure 2.先在服务上创建密钥 ssh-keygen -t rsa ##-t r ...

  6. Linux多台服务器共用密钥ssh自动登陆

    linux的秘钥产生与服务器无关,只和加密的方式(采用rsa或dsa)还有passphrase(密码短语,在生成秘钥的时候输入)有关. 如果是这样,同一对秘钥可以使用在多台服务器上,因为对于服务器和客 ...

  7. ssh服务、密钥登陆配置

    环境内核信息: [root@zabbix-01 ~]# uname -a Linux lodboyedu-01 2.6.32-696.el6.x86_64 #1 SMP Tue Mar 21 19:2 ...

  8. 地平线旭日X3派试用 | ssh密钥登陆 蓝牙手柄连入ros

    1.ssh密钥登陆 ssh登陆开发作为必修课,默认密码登陆不安全又得每次输密码,有点不雅,改之.在windows上使用的是Fluent Terminal(个人使用习惯). 1.1 因为经常使用macb ...

  9. Linux的远程桌面管理,密钥登陆,SSH协议,四层防御系统实验详解

    Linux的远程桌面管理,密钥登陆,SSH协议,四层防御系统 一.引子 别看上面写了这么多内容,其实都是串起来的,就是看下通过SSH(Secure Shell)协议远程连接到底要经过些什么流程,有什么 ...

最新文章

  1. My first syscall
  2. canvas学习绘制扇形
  3. c语言 变色程序,【图片】(原创)用纯C变了个变色输出字符的程序。。。【c语言吧】_百度贴吧...
  4. python如何设计工具类_Python面向对象 --- 类的设计和常见的内置方法
  5. C++轻量级微服务_微服务的部署
  6. java Array入门
  7. Python网页爬虫之中文乱码
  8. 面试题--------7、Files的常用方法
  9. 电子设计大赛-仪器仪表类题目分析
  10. 『图解』深度可分离卷积
  11. ubuntu 安装opensips osip exosip
  12. FQQ兵法,适用于各种版本以及种族
  13. 中国移动光猫 GM220-S 改桥接简易教程(安徽移动)
  14. Vue3 全家桶实践
  15. 测试用例之性能测试用例
  16. 如何修改VMware虚拟机的配置文件.vmx
  17. android应用间相互调用
  18. matlab-信号与系统
  19. 6年Java老鸟聊聊新人到底要不要学Java,从事互联网《打工人的那些事》
  20. 微信支付接口调用之二维码失效时间的设置

热门文章

  1. 这四款前端开发工具,你必须知道
  2. 【DevOps实战】Pod基本操作
  3. 基于android的游戏资讯app
  4. [网络报道] 机构选股逻辑基因变异 量化投资互联网掘金大数据
  5. 实验三、最长公共子序列(输出所有最长公共子序列)
  6. Inoproshop新建一个工程
  7. 卷积后的特征有负数吗?_赠书 | 人工智能识万物:卷积神经网络的前世今生
  8. java visualvm 内存_【Java线程与内存分析工具】VisualVM与MAT简明教程
  9. 1024 科学计数法——C/C++实现
  10. Oculus Home 客户端安装教程