1 简介

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

使用密钥登录分为3步:

1、生成密钥(公钥与私钥);

2、放置公钥(Public Key)到服务器~/.ssh/authorized_key文件中;

3、配置ssh客户端使用密钥登录。

1.1 生成密钥(公钥与私钥)

打开Xshell,在菜单栏点击“工具”,在弹出的菜单中选择“(新建用户密钥生成向导)”,如下图:

 

弹出“新建用户秘钥生成向导”对话框,在“秘钥类型”项选择“RSA”公钥加密算法,“秘钥长度”选择任意密钥长度,长度越长,安全性越高,如下图:

 

点击“下一步”,等待密钥生成

 

继续下一步,在“秘钥名称”中输入Key的文件名称,我这里为“id_rsa_2048(2)”;在“加密密码”处输入一个密码用于加密私钥,并再次输入密码确认,如下图:

 

点击“下一步”,密钥生成完毕(Public key Format选择SSH2-OpenSSH格式),这里显示的是公钥,我们可以复制公钥然后再保存,也可以直接保存公钥到文件,如下图。

点击“保存为文件”按钮,将公钥(Public key)保存到磁盘,文件名为“laomao”,备用。最后点击“完成即可

公钥保存完后,接下来为私钥文件点击导出导出为私钥文件,用来打开刚才的公钥。请妥善保管。

 

点击保存,会弹出一个框,输入刚才设置的密码123456.在点击“确定即可

 

1.2 放置公钥(Public Key)到服务器~/.ssh/authorized_key文件中

上面的步骤只是生了公钥和私钥过程,接下来就是要将刚才生成的公钥放到要管理的服务器上。

使用到Xshell登录到服务器,进入到“/root/.ssh/”目录,运行rz命令(如果没有rz命令,运行yum install lrzsz安装),将key.pub发送到服务器,

 

然后运行如下命令,将公钥(Public Key)导入到“authorized_keys”文件:

[root@mysql-db01 ~]# cd .ssh/
[root@mysql-db01 .ssh]# ls
authorized_keys known_hosts
[root@mysql-db01 .ssh]# rz -E
rz waiting to receive.
[root@mysql-db01 .ssh]# ls
authorized_keys known_hosts laomao.pub
[root@mysql-db01 .ssh]# cp authorized_keys authorized_keys.bak
[root@mysql-db01 .ssh]# cat laomao.pub >authorized_keys
[root@mysql-db01 .ssh]# cat authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAYEAybjy7/DVWxXm4lcXFA+x0bgBMi+aQ6zIzyBfFSKJEMhAhs/MxbKHOl1c1GwzPSAKLAHoR8UZSQO7QQcYKqeb8cNWR8f9NGNBCJs+e6Fpl7BvNPKfNrixnq+gT5VIz77u2RXU74JBOuwsgaEHtCU5DQhIfvAoUe64qCBuY5J6JHJV3bBlMXnqxrJQO4+4hH0dHyVzc5wmP0ngnah/6za64hk3Nd1tdER7na701geZTR5N4OqeCep+TtPcbT4RKQ1qJ5L67ET5x3uYGEKZDK4tOL2kluePd2XHRQg1qcXl87f7HkZiLIicgLU8/rB+LyUOJzywTVHvmTWTPDS1u6RmAQSLh/4VU0vEks7bIj7xTCaKjuO6UgHvxPZL1BQWj8tY6fzerdndVM5bORkAHgZ67ZJK6X+Zui4fHTkxSQ/gvzOgBylhSL3Tyc1PRlVO8L7bl9r36x7hlACHr0BrqpenrkxdMmrR4i4RoOrYaijXoPhvg5uWH+rSeUbZDDEw7S/F[root@mysql-db01 .ssh]#
[root@m01 .ssh]# chmod authorized_keys
[root@m01 .ssh]#

 

1.3 配置ssh客户端使用密钥登录

打开Xshell,点击“新建”按钮,弹出“New Session Properties”对话框,在“连接”栏目中,输入刚刚配置好公钥(Public Key)的IP地址和端口,如下图所示:

用户身份认证窗口输入认证方法为“public key”

 

用户秘钥出选择刚生成的私钥文件,并在下面的密码框中输入刚才设置的密码123456(可以和系统登陆密码不一样

  

现在就可以使用公钥登陆了,浏览选择用户秘钥位置,然后输入上面刚刚设置的密码“123456”点击“确定,即可登陆。

  

经过了上面的ssh秘钥配置后,我们就可以通过在Publish over SSH插件中使用秘钥来管理服务器了。注意,服务器上存放的是上面生成的公钥,Jenkins上存放的是生成的私钥文件

Xshell配置ssh免密码登录-密钥公钥(Public key)的更多相关文章

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

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

  2. Xshell配置SSH免密码登录

    思路: 私钥存放于客户端,id_rsa 将客户端公钥存放于要远程控制服务器上:将客户在公钥id_rsa.pub内容追加到 /root/.ssh/authorized_keys 使用密钥认证分3步: 1 ...

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

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

  4. 配置Ssh免密码登录

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

  5. Linux配置SSH免密码登录

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

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

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

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

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

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

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

  9. centos配置ssh免密码登录

    master.slave1两台机器实现ssh免密码登录,user:hadoop,passwd:123456 1.设置master: vi /etc/sysconfig/network hostname ...

随机推荐

  1. 获取表单提交MVC错误信息

    if (!ModelState.IsValid)                {                    List<string> Keys = ModelState.Ke ...

  2. tensorflow函数学习笔记

    https://www.w3cschool.cn/tensorflow_python/tensorflow_python-4isv2ez3.html tf.trainable_variables返回的 ...

  3. 【转】MFC WM_USER和WM_APP

    WM_USER常量是Windows帮助应用程序定义私有窗口类里的私有消息,通常使用WM_USER+一个整数值,但总值不能超过0x7FFF. #define WM_USER       0x0400 W ...

  4. JAVA中String字符串比较equals()和equalsIgnoreCase()的区别

    标签: equals和equalsIgnoreC 2012-11-11 16:03 65644人阅读 评论(0) 收藏 举报  分类: JAVA(3)  1.使用equals( )方法比较两个字符串是 ...

  5. php -- or 的用法

    经常看到这样的语句: $file = fopen($filename, r) or die("抱歉,无法打开: $filename"); or 在这里是这样理解的,因为在PHP中并 ...

  6. sqlserver 字符串split

    select value from TF_NJVALUES('3C457A2D-188B-4D99-A822-2968054E1FB8,3C457A2D-188B-4D99-A822-2968054E ...

  7. php多语言截取字符串函数

    <?php header("Content-Type:text/html;charset=utf-8"); function msubstr($str, $start = 0 ...

  8. JavaSE集合(八)之Map

    前面给大家介绍了集合家族中的Collection家族,这一篇给大家分享的是集合中的另一个家族就是Map家族.以前的时候学习Map的时候没有很认真的去学习,我觉得很多东西还是不是很清楚. 这次我将总结的 ...

  9. BleedTree动画混合树

    通过Unity动画状态机,能帮我们轻松处理转换各个动画片断,达到想要的效果,但是如果仅仅是一个个动画的硬生生的切换,那么看起来就非常突然,而不真实了,在质量要求比较高的游戏中,特别是动作游戏,我们就不 ...

  10. linux mint 19解决 输入法问题

    安装搜狗后出现 You're currently running Fcitx with GUI, but fcitx-configtool couldn't be found, the package ...