Centos7 公钥登陆
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 公钥登陆相关推荐
- 如何在SecureCRT上使用公钥登陆Linux服务器
我以前一直使用口令通过ssh协议登陆Linux服务器,最近公司要求使用公钥登陆.说是安全,好吧.那我们整一下.那到底使用公钥登陆服务器有什么好处呢?其实我理解是这样的: 当我们创建了公钥和私钥(这是一 ...
- 远程服务器 上传公钥,SecureCRT+Ubuntu SSH服务器的远程公钥登陆
有耐心地往下看,哥是实现了的,并且所有细节会给的相当的丰富哈. Ubuntu: Ubuntu 14.04 LTS openssh Window10(64位):SecureCRT8.0 看网上的列为同牛 ...
- SSH安全登陆原理:密码登陆与公钥登陆
SSH全称(Secure SHell)是一种安全的应用层网络协议,用于计算机间的安全通信,是目前一套成熟的远程登陆解决方案. 有两种方法登陆: 密码登陆 公钥登陆 密码登陆 1.客户端填写用户名密码发 ...
- ssh无密码公钥登陆
根据自己的发展历程,回忆一下,之前接触到的都是密码用户登录,自从到了好孩子集团,感受了证书登录的情况,刚开始很抵触,超不习惯,而且当时对原理不了解,总是出错,给运维的那个哥们制造了不少的麻烦,现在懂了 ...
- 处理linux centos7中登陆plsql后退格键上下键使用乱码问题
使用xftp将下载好的rlwrap以及readline安装文件传输到虚拟机/tmp目录下 安装readline [root@localhost ~]# cd /tmp [root@localhost ...
- CentOS7 忘记登陆密码 修改root密码
CentOS7 修改root密码 1,设置single 单用户模式启动 1,设置single 单用户模式启动 系统版本 $ cat /etc/redhat-release CentOS Linux r ...
- xshell使用公钥登陆
1.将公钥在自己电脑上进行配置: 将公钥放到该目录下:C:\Users\NING MEI\.ssh NING MEI:是我电脑用户名 2.打开xshell: 2.1 填写信息:主机名和端口号 2.2 ...
- 追踪捕捉-人体追踪-地屏_只是我的类型-追踪字母的演变
追踪捕捉-人体追踪-地屏 When we talk about "design", we usually mean a designer crafting an object or ...
- linux免交互登陆远程主机并执行命令(密钥对和Expect)
Linux下实现免交互登陆一般有两种: 1. SSH无密码认证方式 客户端使用ssh-keygen生成密钥对,将公钥复制到服务端(authorized_keys),SSH提供公钥登陆,当SSH访问服务 ...
最新文章
- docker logs 查看实时日志
- LeetCode 297. 二叉树的序列化与反序列化(前序遍历层序遍历)
- java调用jndi出错,Webshpere数据源错误:无法查找JNDI名称
- 大量CV职位!奥比中光2020届校招提前批内推启动!
- MOS管及MOS管的驱动电路设计
- mysql 相关记录
- 【Hive】条件函数
- 合并两个数组的两种方式的异同
- extern C的思考
- 最近粉丝涨得比较快,可能是系统推荐了
- 300多分学计算机去哪个学校,300分能上什么大学 2021年300分左右的学校
- latex编译错误尝试生产pdf
- mysql数据库攻击与防御pdf_SQL注入攻击与防御 中文PDF清晰扫描版(38.6M)
- java 2 实用教程部分课后答案
- 实战之多有米项目测试环境搭建
- 微信公众号系列之测试号使用
- php ios表情包,php处理APP中 emoji表情包的方法
- LFS(Linux From Scratch)构建过程全记录(一):准备工作
- 【观察】联想“内生外化”:能干肯干、真招实招加速中小企业数字化转型
- 严蔚敏数据结构源码及习题解析