思路:

私钥存放于客户端,id_rsa

将客户端公钥存放于要远程控制服务器上:将客户在公钥id_rsa.pub内容追加到 /root/.ssh/authorized_keys

使用密钥认证分3步:

1.生成密钥

2.放置密钥、配置ssh

3.配置ssh客户端使用密钥登陆

一  生成密钥

1.使用Xshell生成密钥

可以通过上面任意一种方式生成密钥;

完成之后把生成的密钥保存为文件

保存为 id_rsa.pub (公钥)

2.使用git生成密钥

运行命令 ssh-keygen -t -rsa

二 放置公钥到服务器、设置ssh

使用到Xshell登录到服务器,进入到“/root/.ssh/”目录

将id_rsa.pub发送到服务器,然后运行如下命令,将公钥(Public Key)导入到“authorized_keys”文件:

[root@linuxidc ~]# cd /root/.ssh/

[root@linuxidc .ssh]# cat id_rsa.pub >> authorized_keys

[root@linuxidc .ssh]# chmod 600 authorized_keys

[root@linuxidc .ssh]# chown linuxidc:yearnfar authorized_keys  # 用户、用户组改成自己的

验证登陆是否正确,在ssh客户端配置登陆方式由password改为publickey,文件使用生成的公钥文件即可

如果登陆失败,请检查ssh配置文件(/etc/ssh/sshd_config)中的PubkeyAuthentication是否为yes。

如果验证成功的话就可以关闭密码登陆方式了,编辑/etc/ssh/sshd_config,将PasswordAuthentication改为no,ChallengeResponseAuthentication改为no

重启sshd(service sshd restart)

PS:

1. 要确保目录 .ssh 属于当前用户并且权限是700

2. 确保文件 authorized_keys 属于当前用户并且权限是600

/home/user 目录也必须是700!!!如果你用root改过它权限,也会导致登陆不了

三 设置ssh客户端登陆

四 关于安全方面的一些建议

使用密钥认证登陆,不要去设置root的密钥认证,可以通过其他用户使用su或者sudo获得超级管理员权限

Xshell配置SSH免密码登录的更多相关文章

  1. Xshell配置ssh免密码登录-密钥公钥(Public key)与私钥(Private Key)登录【已成功实例】

    本文转自https://blog.csdn.net/qjc_501165091/article/details/51278696 ssh登录提供两种认证方式:口令(密码)认证方式和密钥认证方式.其中口 ...

  2. Xshell配置ssh免密码登录-密钥公钥(Public key)

    1 简介 ssh登录提供两种认证方式:口令(密码)认证方式和密钥认证方式.其中口令(密码)认证方式是我们最常用的一种,这里介绍密钥认证方式登录到linux/unix的方法. 使用密钥登录分为3步: 1 ...

  3. 利用Xshell配置ssh免密码登录虚拟机,进行虚拟机与物理机的传输

    先说一下 Xshell如何无密连接虚拟机: ssh登录提供两种认证方式:口令(密码)认证方式和密钥认证方式.其中口令(密码)认证方式是我们最常用的一种,这里介绍密钥认证方式登录到linux的方法.使用 ...

  4. 配置Ssh免密码登录

    配置Ssh免密码登录 一个master节点,两个client节点(client1.client2) 1.所有节点创建hadoop用户,并设置密码 以root账号登录: useradd hadoop p ...

  5. CentOS 6.5配置SSH免密码登录

    centos 系统对权限的设置非常微妙,如果权限设置大了则ssh 拒绝,如果权限小了,则ssh 更是被拒绝(我曾经配置好久没有打通,就是因为权限过大的原因) 参考链接:http://www.linux ...

  6. Linux配置SSH免密码登录

    CentOS配置SSH免密码登录为例说明:SSH远程登录的安全外壳协议有两种身份认证机制: - 用户名+密码 -密钥登录 环境准备 host1:192.168.0.10host2:192.168.0. ...

  7. 解决:centos配置ssh免密码登录后仍要输入密码

    转自https://www.jb51.net/article/121180.htm 第一步:在本机中创建秘钥 1.执行命令:ssh-keygen -t rsa 2.之后一路回车就行啦:会在-(home ...

  8. 记一次Xshell配置ssh免密登录时的问题

    问题: 今天在配置SSH免密登录连接自己的阿里云服务器,在将RSA加密生成的公钥放到服务器后,用Xshell连接服务,出现所选的用户密钥未在远程主机上注册这样的提示,一时懵逼,不知所措,后面终于找到了 ...

  9. 如何配置ssh免密码登录

    [TOC] 如果你在管理一堆unix机器,每次登录都要输入密码是挺烦的事情,一方面为了安全我们一般不会将所有机器的密码都设置成一样,另一方面就算一样每次都输入一遍也很麻烦. 这种情况下我们一般是用ss ...

随机推荐

  1. VS2012里面使用EF框架的增删改查和分页的方法

    public class BaseRepository<T> where T : class    {        //实例化EF框架        DataModelContainer ...

  2. python+appium+yaml安卓UI自动化测试分享

    一.实现数据与代码分离,维护成本较低,先看看自动化结构,大体如下: testyaml管理用例,实现数据与代码分离,一个模块一个文件夹 public 存放公共文件,如读取配置文件.启动appium服务. ...

  3. Flask源码阅读-第四篇(flask\app.py)

    flask.app该模块2000多行代码,主要完成应用的配置.初始化.蓝图注册.请求装饰器定义.应用的启动和监听,其中以下方法可以重点品读和关注 def setupmethod(f): @setupm ...

  4. 四条命令快速在Ubuntu16.04上配置DNS服务器

    1. apt install dnsmasq -y 2. vim /etc/dnsmasq.d/resolv.conf address=/xxx.yyy.com/21.xx.xx.x 3. servi ...

  5. python2和Python3的区别(长期更新)

    1.在Python2中无需将打印的内容放在括号内,但是Python3中必须将打印的内容放在括号内,从技术上看Python3中的print是函数. 2.对于用户交互终点额输入input,在python2 ...

  6. linux 如何使用密钥登录 (CentOs)

    说明:一般的密码方式登录容易被密码暴力破解.所以一般我们会将 SSH 的端口设置为默认22以外的端口,或者禁用root账户登录.其实可以通过密钥登录这种方式来更好地保证安全. 密钥形式登录的原理是:利 ...

  7. Oracle密码概要文件,密码过期时间180天修改为3天,相关用户密码是否过期

    #Oracle用户密码,概要文件修改测试 #默认的用户使用概要文件,默认概要文件密码过期时间参数180天,修改为3天,对于老的用户来说,是密码过期,还是未发生改变, 对于新用户来说,新设置的密码过期时 ...

  8. jQuery的事件

    事件冒泡处理 使用event.stopPropagation();阻止事件冒泡 冒泡事件也可以使用return false来处理 并且 <script type="text/javas ...

  9. Vim正则表达式匹配替换字符串

    /********************************************************************** * Vim正则表达式匹配替换字符串 * 说明: * 用V ...

  10. 九度OJ1450题-产生冠军-MAP的使用

    题目1450:产生冠军 时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:2839 解决:1161 题目描述: 有一群人,打乒乓球比赛,两两捉对撕杀,每两个人之间最多打一场比赛.球赛的规则如 ...