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. 无网情况下linux安装django

    创建虚拟环境~/project/hanqin/django> virtualenv monitor2~/project/hanqin/django/monitor2> cd bin~/pr ...

  2. 前端vue框架 父组件与子组件之间的相互调用

    子组件调用父组件东西: 1.在父组件与子组件契合的标签的的template模板中绑定 v-bind:自定义一个名字=“要调用的名字” 2.在子组件的script中props:["自定义的名字 ...

  3. Tomcat 在 Linux 上的安装和配置

    一.文件上传 先上传tomcat安装文件到Linux服务器 二.解压安装 使用以下命令解压安装包 .tar.gz 解压成功会生成一个文件夹 tomcat服务器运行时是需要JDK支持的,所以必须先安装好 ...

  4. spring 原理1:java 模拟springIOC容器

    本篇博客主要是使用java代码模拟spring的IOC容器,实现依赖注入:当然只是模拟spring容器中简单的一点实现原理而已,加深一些自己对spring框架的底层原理的理解: 使用的技术:dom4j ...

  5. gitlab 一键 merge request(III)

    已经有两位同学写过类似的 wiki 了,值得一看: gitlab一键提交request merge & assign 为啥我又来凑热闹呢?基于下面两个原由: 我的机子是 Win10,上面脚本的 ...

  6. MySQL数值类型

    MySQL数值类型 MySQL支持所有标准的SQL数值数据类型.这些类型包括数值数据类型INTEGER.SMALLINT.DECIMAL.NUMERIC和近似数值数据类型FLOAT.REAL.DOUB ...

  7. 2-1 编写HelloWorld

    引用外部的vue.js文件

  8. [EXP]Microsoft Windows CONTACT - Remote Code Execution

    [+] Credits: John Page (aka hyp3rlinx) [+] Website: hyp3rlinx.altervista.org [+] Source: http://hyp3 ...

  9. 《ASP.NET Core跨平台开发从入门到实战》Web API自定义格式化protobuf

    <ASP.NET Core跨平台开发从入门到实战>样章节 Web API自定义格式化protobuf. 样章 Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于 ...

  10. Android动态添加Fragment

    Android动态添加Fragment 效果图如下: 项目结构图如下: Fragment1: package com.demo.dongtaifragment; import android.app. ...