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

使用密钥登录分为3步:
1、生成密钥(公钥与私钥);
2、放置公钥(Public Key)到服务器~/.ssh/authorized_key文件中;
3、配置ssh客户端使用密钥登录。

一、生成密钥公钥(Public key)与私钥(Private Key)

打开Xshell,在菜单栏点击“tools”,在弹出的菜单中选择“User Key Generation Wizard...”(密钥生成向导),如下图:

弹出“User Key Generation Wizard”对话框,在“Key Type”项选择“RSA”公钥加密算法,“Key Length”选择为“2048”位密钥长度,如下图:

点击“Next”,等待密钥生成:

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

点击“Next”,密钥生成完毕(Public key Format选择SSH2-OpenSSH格式),这里显示的是公钥,我们可以复制公钥然后再保存,也可以直接保存公钥到文件,如下图。私钥这里不显示,可以在“User Key Mangager...”导出到文件:

点击“Save as file...”按钮,将公钥(Public key)保存到磁盘,文件名为“key.pub”,备用。

二、上传公钥(Public Key)到服务器:

使用到Xshell登录到服务器,进入到“/root/.ssh/”目录,运行rz命令(如果没有rz命令,运行yuminstall lrzsz安装),将key.pub发送到服务器,然后运行如下命令,将公钥(Public Key)导入到“authorized_keys”文件:

[root@localhost .ssh]# rz
[root@localhost .ssh]# ls
[root@localhost .ssh]# ls
[root@localhost .ssh]# rz [root@localhost .ssh]# ls
key.pub
[root@localhost .ssh]# ls
key.pub
[root@localhost .ssh]# ls
key.pub
[root@localhost .ssh]# cat key.pub >> authorized_keys
[root@localhost .ssh]# ls
authorized_keys key.pub
[root@localhost .ssh]# chmod authorized_keys
[root@localhost .ssh]# ls
authorized_keys key.pub
[root@localhost .ssh]# cat authorized_keys
ssh-dss AAAAB3NzaC1kc3MAAAEBALdTe54J+LFiZhi2LIM7G3HImkoXCj2GNMmQHOSqcG2GPmny0oNODoEwdiszoH/8VgxeuERaHyBiXe0ytvrxVrxjx6fkcBZGwhLIIORqM+CrfcD/Vjk8fr/O1d9pT16a9GiYebsUNfVAaD6cC1PnxzXcmMUqBfk48VocVNhvccoHRX2kHKazPQMdXOgaDfMqz4XaibqZH+fLuc1xpysHvcJFtkaFPFQH3sXvh4vj75d6mjFQGJCneJm1MWPQmmkkjLg+W/uAfSG7MYrp19+2mIf7iP527mDieM18fiwI7NkOUEUxeLs0EJal6kK9j1OUWqZqRFblPlKriA5M2fDco0EAAAAhANbdu7g54qxccYk5uwNAEblJvfPypf9h14Mb+oD8gqQdAAABAQCZIxc5hA8moces3s442qStuniyA2bNLtiuMMfav57447Xts8MzFBtvgxB4iX4cTdWdNETLjWjvUqzlFyN67t3+fOBsRjSFIKbx5P/45B6PqamZSu7+kvq5gy9WSTXqlqF5JAwvqKyUnlxPoJWL5qQ8Ij97eznYw2sp3dwKYIUDo7wFUdwlQhIwCkdFBV80eZdWSvJyGK+2t1Rd3VyXxulE8u+QdVaFf4T2paEy5u00shff0J+D6rPNncXxOSx0FQbZzwvAaFAs9oU7Eku3AifheM8bVJiAgzDH2uXzBoxrdSQAB1TSV9aUKMrt635jDShSBql92RR0Vx3+zAjiaWiNAAABAAEWbJEWB96X1ZmqKbMOagbwSy3pQ/NmcZs7l2VRwd3v5Xaz1ubxX3NZCz/IyL1TOjVeRBf56UjY1On48dhvE6Y1qEFBTXzFAhFlPK/O/aRi/Jcq3/UWSBSUNy3ztmUN+OyZFsIPPRCANotP9uaLmJulLB1aYg9LQzQfgwQua5fNgZIHjP2vdd95B+NfnnHyz+tHtXMcM5Evu7pES/XtgnwTzCyS6xL2FL9veIBBGTYFKXNtnyvb2oBhD42PGWFO3OE847SwG6RLvjzN19CkNqoqhpPzqJEzigviiL4f1FR4nz20wzgVnwQemhEvA1NJwvaDFQI51P971Uz4hjbHD54=[root@localhost .ssh]# ^C
[root@localhost .ssh]# pwd
/root/.ssh
[root@localhost .ssh]# ^C

三、配置Xshell使用密钥认证方式登录到服务器:

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

Xshell配置密钥公钥(Public key)与私钥(Private Key)登录的更多相关文章

  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配置密码公钥登录

    1:生成公钥 2:密钥类型选择为rsa,长度为2048,并点击下一步,如下所示: 这里的密码是给密钥设置了密码,那么在使用这个密钥时也要输入密码,也可以设置为空 3:保存密钥 (1):当你选择了输入密 ...

  4. Git推送文件时,出现的Couldn't load this key(OpenSSH SSH-2 private key (old PEM format))

    在进行推送到远程仓库的过程中遇到的一个错误. 解决方法: 找到这个位置 然后打开文件所在位置 再打开这个文件然后再 导入成功 然后点击save private key这个按钮 就可以成功的生成一个文件 ...

  5. 【Linux】Xshell 配置密钥登陆

    设置不需要密码登陆 vim /etc/ssh/sshd_config 在配置文件中参数的意义 PubkeyAuthentication yes #启用公告密钥配对认证方式 AuthorizedKeys ...

  6. Xshell 配置密钥

  7. Summary: difference between public, default, protected, and private key words

    According to Java Tutorial: Controlling Access to Members of a Class Access level modifiers determin ...

  8. Xshell配置SSH秘钥登录

    秘钥生成 生成公钥 工具 -> 新建用户秘钥生成向导 -> 下一步 -> 点击下一步,输入密码: 点击下一步 点击保存为文件,完成. 生成私钥 工具 -> 用户秘钥管理者 选中 ...

  9. Xshell配置ssh使用密钥公钥(publice key)登录

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

随机推荐

  1. Day02 (黑客成长日记)

    #用户登录次数为三代码 # i = 0 # while i < 3: # username = input('请输入账号:') # password = input('请输入密码:') # if ...

  2. Ubuntu 14.04 LTS 初装成

    原先博客放弃使用,几篇文章搬运过来 Windows 7下使用win32diskimager 制作启动盘,安装Ubuntu OS安装完成后,安装DrclientLinux. 安装搜狗输入法 Linux下 ...

  3. jsp和html的区别

    html是超文本标记语言,只要有浏览器,就可以显示出来了. jsp是java server page就是在java服务器端的页面,需要通过jdk的编译才可以显示在客户端的浏览器上. 不仅如此,jsp还 ...

  4. Django orm 实现批量插入数据

    Django ORM 中的批量操作 在Hibenate中,通过批量提交SQL操作,部分地实现了数据库的批量操作.但在Django的ORM中的批量操作却要完美得多,真是一个惊喜. 数据模型定义 首先,定 ...

  5. select 的问题

    #include <errno.h> #include <string.h> #include <fcntl.h> #include <sys/socket. ...

  6. 第二十三节:Java语言基础-详细讲解函数与数组

    函数 函数在Java中称为方法,在其他语言中可能称为函数,函数,方法就是定义在类中具有特定功能的程序.函数,在Java中可称为方法. 函数的格式: 修饰符 返回值类型 函数名(参数类型 参数1, 参数 ...

  7. linux ls统计文件个数

    Linux下有三个命令:ls.grep.wc.通过这三个命令的组合可以统计目录下文件及文件夹的个数. 统计当前目录下文件的个数(不包括目录) ls -l |grep "^-"|wc ...

  8. 源码调试debug_info 的作用和使用方法

    在他通过gcc来编译程序时,在map文件中,经常会遇到如下的情况: .debug_info 0x002191b6 0x1aa9 XXX .debug_info 0x0021ac5f 0xce4 XXX ...

  9. I2C软件调试思路并知识总结

    I2C是一种只使用两根线的串行通信协议.一根线是串行数据线SDA,另外一种是串行时钟线SCL. I²C允许相当大的工作电压范围,但典型的电压准位为+3.3V或+5v. I²C的参考设计使用一个7比特长 ...

  10. Testing - 软件测试杂谈

    Part-1 起步 测试是发现质量问题.分析.跟踪.推动与解决的过程. 1 熟悉业务,设计优质的测试用例,需要对所测试项目的业务需求非常熟悉 了解整个产品的研发和测试流程 全程参与,对需求.设计.开发 ...