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. 获取sql 时间时分秒

    select DATE_FORMAT(now(),'%Y-%m-%d %T') from dual;  年月日时分秒 select DATE_FORMAT(now(),'%T') from dual; ...

  2. python中global和nonlocal用法的详细说明

    一.global 1.global关键字用来在函数或其他局部作用域中使用全局变量.但是如果不修改全局变量也可以不使用global关键字.   gcount = 0 def global_test(): ...

  3. post网络请求坑

    微信小程序开发中网络请求必不可少.GET.POST请求是最常用的.GET请求 POST请求的时候有好几个坑.我已经为大家填好了.

  4. Java从无知到入门书籍推荐

    0 前言 本文主题为Java Web书籍推荐 1 零基础学习 此处的零基础,指的是不懂或只懂if-else之类基本代码流程.初次接触,建议淘宝买一套**培训机构录播课程,看入门段视频.一是学习之初培养 ...

  5. 20155326刘美岑 《网络对抗》Exp2 后门原理与实践

    20155326刘美岑 <网络对抗>Exp2 后门原理与实践 实验内容 (1)使用netcat获取主机操作Shell,cron启动 (2)使用socat获取主机操作Shell, 任务计划启 ...

  6. java基础知识-方法

    1.方法 定义:一段定义在类中的业务逻辑的代码. 目的:封装右业务关系的代码,实现代码的复用,即简化代码书写. 2.方法定义的格式 修饰符,返回值类型 方法名(数据类型1,形参名1,数据类型2,形参2 ...

  7. Django Class Based View

    本节内容 一   Class Based View 基于类的视图 1.  类的视图 View 2.  类的视图 TemplateView 3.  类的视图 login_required解决方法 二   ...

  8. 背水一战 Windows 10 (72) - 控件(控件基类): UIElement - UIElement 的位置, UIElement 的布局, UIElement 的其他特性

    [源码下载] 背水一战 Windows 10 (72) - 控件(控件基类): UIElement - UIElement 的位置, UIElement 的布局, UIElement 的其他特性 作者 ...

  9. 项目Alpha冲刺(团队4/10)

    项目Alpha冲刺(团队4/10) 团队名称: 云打印 作业要求: 项目Alpha冲刺(团队) 作业目标: 完成项目Alpha版本 团队队员 队员学号 队员姓名 个人博客地址 备注 221600412 ...

  10. Linux源码编译安装程序

    一.程序的组成部分 Linux下程序大都是由以下几部分组成: 二进制文件:也就是可以运行的程序文件 库文件:就是通常我们见到的lib目录下的文件 配置文件:这个不必多说,都知道 帮助文档:通常是我们在 ...