1、登陆到服务器修改sshd_config

登录服务器,输入命令vi /etc/ssh/sshd_config修改配置文件

找到RSAAuthentication、PubkeyAuthentication、AuthorizedKeyFiles、StrictModes所在的行,如果被#注释了,就取消#号,改为如下配置:

RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeyFiles .ssh/authorized_keys

StrictModes no

这里解释一下:

RSAAuthentication设置为yes,意思是设置开启使用RSA算法的基于rhosts的安全验证;

PubkeyAuthentication设置为yes,意思是设置开启公钥验证;

AuthorizedKeyFiles后面的目录,是你上传的公钥所保存的文件;

StrictModes设置为no,意思是设置关闭ssh在接收登录请求之前先检查用户家目录和rhosts文件的权限和所有权。

修改好ssh的配置文件后保存并退出,使用systemctl restart sshd.service重启SSH服务

2、客户端生成公钥

首先我们要在我们的mac上电脑上生成公钥和私钥,在终端中输入以下命令:

cd ~/.ssh

首先进入~/.ssh目录,之后:

ssh-keygen -t rsa

或给你的key取个名字  ssh-keygen -t rsa -C "your_email@example.com"

之后就可以一路回车,一般都不设置密码,即可在~/.ssh目录中生成私钥文件(id_rsa)和公钥文件(id_rsa.pub)

3、服务端加入客户端公钥

Copy 客户端生成好的公钥文件  id_rsa.pub  到服务器的。~/.ssh/  目录下,并且改名  authorized_keys

如果已经存在authorized_keys 文件  那么需要将你的新公钥追加到后面

cat id_rsa.pub >> authorized_keys

然后删除id_rsa.pub

然后修改权限,这部很重要

.ssh目录权限一般为755或者700。

authorized_keys权限一般为644

现在,我们就可以正常的在mac 终端中使用ssh来登录服务器了,无需输入密码。

4、客户端设置别名

进入客户端  ~/.ssh    创建config文件

Host hostName1(暂时叫它1号服务器)

HostName xxx.xxx.xxx.xxx

User username

Port 端口号

Host hostName2(暂时叫它2号服务器)

HostName xxx.xxx.xxx.xxx

User root

然后  ssh hostName1 直接登陆

总结:

如果自动登录失败可以查询服务器的日志  /var/log/secure

一般会出现错误:  Authentication refused: bad ownership or modes for directory /home/用户

第一反复检查目录和文件的权限是否正确,这也是网上流传的最多的解决方案,但是我第一次就出现了这个问题,这个方案没有解决

第二检查服务的sshd_config配置,

RSAAuthentication设置为yes,意思是设置开启使用RSA算法的基于rhosts的安全验证;

PubkeyAuthentication设置为yes,意思是设置开启公钥验证;

AuthorizedKeyFiles后面的目录,是你上传的公钥所保存的文件;

StrictModes设置为no,  (我就是掉到这个坑里的)

Centos7 公钥登陆相关推荐

  1. 如何在SecureCRT上使用公钥登陆Linux服务器

    我以前一直使用口令通过ssh协议登陆Linux服务器,最近公司要求使用公钥登陆.说是安全,好吧.那我们整一下.那到底使用公钥登陆服务器有什么好处呢?其实我理解是这样的: 当我们创建了公钥和私钥(这是一 ...

  2. 远程服务器 上传公钥,SecureCRT+Ubuntu SSH服务器的远程公钥登陆

    有耐心地往下看,哥是实现了的,并且所有细节会给的相当的丰富哈. Ubuntu: Ubuntu 14.04 LTS openssh Window10(64位):SecureCRT8.0 看网上的列为同牛 ...

  3. SSH安全登陆原理:密码登陆与公钥登陆

    SSH全称(Secure SHell)是一种安全的应用层网络协议,用于计算机间的安全通信,是目前一套成熟的远程登陆解决方案. 有两种方法登陆: 密码登陆 公钥登陆 密码登陆 1.客户端填写用户名密码发 ...

  4. ssh无密码公钥登陆

    根据自己的发展历程,回忆一下,之前接触到的都是密码用户登录,自从到了好孩子集团,感受了证书登录的情况,刚开始很抵触,超不习惯,而且当时对原理不了解,总是出错,给运维的那个哥们制造了不少的麻烦,现在懂了 ...

  5. 处理linux centos7中登陆plsql后退格键上下键使用乱码问题

    使用xftp将下载好的rlwrap以及readline安装文件传输到虚拟机/tmp目录下 安装readline [root@localhost ~]# cd /tmp [root@localhost ...

  6. CentOS7 忘记登陆密码 修改root密码

    CentOS7 修改root密码 1,设置single 单用户模式启动 1,设置single 单用户模式启动 系统版本 $ cat /etc/redhat-release CentOS Linux r ...

  7. xshell使用公钥登陆

    1.将公钥在自己电脑上进行配置: 将公钥放到该目录下:C:\Users\NING MEI\.ssh NING MEI:是我电脑用户名 2.打开xshell: 2.1 填写信息:主机名和端口号 2.2 ...

  8. 追踪捕捉-人体追踪-地屏_只是我的类型-追踪字母的演变

    追踪捕捉-人体追踪-地屏 When we talk about "design", we usually mean a designer crafting an object or ...

  9. linux免交互登陆远程主机并执行命令(密钥对和Expect)

    Linux下实现免交互登陆一般有两种: 1. SSH无密码认证方式 客户端使用ssh-keygen生成密钥对,将公钥复制到服务端(authorized_keys),SSH提供公钥登陆,当SSH访问服务 ...

最新文章

  1. docker logs 查看实时日志
  2. LeetCode 297. 二叉树的序列化与反序列化(前序遍历层序遍历)
  3. java调用jndi出错,Webshpere数据源错误:无法查找JNDI名称
  4. 大量CV职位!奥比中光2020届校招提前批内推启动!
  5. MOS管及MOS管的驱动电路设计
  6. mysql 相关记录
  7. 【Hive】条件函数
  8. 合并两个数组的两种方式的异同
  9. extern C的思考
  10. 最近粉丝涨得比较快,可能是系统推荐了
  11. 300多分学计算机去哪个学校,300分能上什么大学 2021年300分左右的学校
  12. latex编译错误尝试生产pdf
  13. mysql数据库攻击与防御pdf_SQL注入攻击与防御 中文PDF清晰扫描版(38.6M)
  14. java 2 实用教程部分课后答案
  15. 实战之多有米项目测试环境搭建
  16. 微信公众号系列之测试号使用
  17. php ios表情包,php处理APP中 emoji表情包的方法
  18. LFS(Linux From Scratch)构建过程全记录(一):准备工作
  19. 【观察】联想“内生外化”:能干肯干、真招实招加速中小企业数字化转型
  20. 严蔚敏数据结构源码及习题解析

热门文章

  1. PDM和建表sql,PDM和EXCEL互转操作。
  2. php定位当前地理位置,js实现PC端根据IP定位当前城市地理位置
  3. 模拟MP3唱演唱歌曲
  4. jmter生成的报告没有显示请求和响应明细数据
  5. Python网络管理
  6. 综科智控无线信号放大器 ZKM-LORA-420-470 技术参数分享
  7. Linux的网络协议中的网卡缓冲区
  8. c语言循环写回合制小游戏_【资源】60个C语言项目源码免费领取!
  9. ISO 8601日期格式与持续时间格式
  10. 诺基亚e63怎么打开java游戏_诺基亚E63手机设置教程(新手必看)