索鸟网

  1. 首页
  2. SSH之密钥登陆

SSH之密钥登陆


SSH之密钥登陆

 1.背景介绍

 平时我们都是通过输入账号和密码的方式登陆远程终端,那有没有其他的玩法呢?答案是:当然有!下面就介绍一种通过密钥的方式登陆ssh。

  工具准备:一台电脑(推荐win10),一台虚拟机(推荐vmware workstation11),ssh登陆工具(xshell,securecrt,putty,推荐xshell),linux系统(redhat,centos,debian,ubuntu,推荐centos7.3)。

  下面开始动手操作。

 2.实验步骤

  假设你已经通过ssh工具登陆上了linux终端。

 (1)生成公钥和私钥

    ssh-keygen -t rsa

    Enter file in which to save the key (/root/.ssh/id_rsa): ##直接回车使用默认路径

    Created directory "/root/.ssh".

    Enter passphrase (empty for no passphrase): ##输入密码

    Enter same passphrase again: ##重复密码

    在/root/.ssh/目录下会生成两个文件,id_rsa为私钥,id_rsa.pub为公钥。私钥自己下载到本地电脑妥善保存,公钥则可以任意公开。

 (2)下载私钥到windows

    sz /root/.ssh/id_rsa 

    如果没有请安装软件包lrzsz(yum install -y lrzsz)

 (3)导入公钥

     cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys

 (4)更改SSH配置文件

    修改SSH 的配置文件/etc/ssh/sshd_config,找到下面3行:

    #RSAAuthentication yes

    #PubkeyAuthentication yes

    #AuthorizedKeysFile .ssh/authorized_keys

    将前面的#去掉后保存。重启SSH 服务,运行命令:systemctl restart sshd

 (5)xshell配置(看图)

  1.新建一个会话

  2.选择身份验证方式

  3.导入私钥

  4.输入自己设定的密码

  5.确定用户密钥

  6.输入密码

 7.选择相应的会话

  8.成功登陆

 (6)关闭SSH密码登陆

    修改SSH的配置文件/etc/ssh/sshd_config,找到下面1 行:

    PasswordAuthentication yes

    修改为:

    PasswordAuthentication no

    重启SSH服务,并运行命令:

    systemctl restart sshd 

     


本文出自 “有点意思!” 博客,请务必保留此出处http://powermichael.blog.51cto.com/12450987/1939536

密钥登陆

来源地址:http://powermichael.blog.51cto.com/12450987/1939536 版权归作者所有!

相关教程

  • 使用数据库统一管理ssh登陆用户密钥信息

    使用数据库统一管理ssh登陆用户密钥信息    需求是由一个开发部门提出的,他们需要在他们的测试服务器上开放root权限给所有的开发人员,同时要给每个开发人员配置无密码登录,由于使用ssh默认的认证文件存储公钥不方便人员信息的管理(例如一个人离职后不方便在大量的key中找到他的key,且需要在大量的服务器上全部删除)。  
  • SSH多密钥管理

    在工作中经常需要使用不同的私钥登录不同的服务器,遂需要对不同的私钥进行管理 首先,在新增私钥的时候需要通过不同的文件名来生成不同的私钥文件 ssh-keygen -t rsa -f ~/.ssh/id_rsa.work -f "key for work" ssh-keygen -t rsa -f ~/.ssh/id_rsa.github -f "key
  • git 添加多个ssh密钥

    一个GitLab,一个GitHub,两个账号地址不同,需要添加两个ssh,网上找了几篇,操作成功以后做个汇总。 1、打开ssh文件夹: cd ~/.ssh/ 2、添加新的ssh密钥: ssh-keygen -t rsa -C "youremail@app.com" 3、重命名,若一路回车名字和密码都可以不写,默认会在~/.ssh/目录下生成id_rsa。为了区分,第一
  • Secure和Xshell设置密钥登陆服务器

    一、Secure客户端通过密钥登陆服务器:1、Secure客户端设置生成密钥点击下一步:选择加密类型:输入登陆密码,点击下一步:加密长度(默认1024),下一步:下一步:生成路径,完成:确定是否为本客户端的全局公钥,如果没有别的公钥,就点是,否则点否;2、服务器客户端设置: 写入公钥在生成的密钥里面有两个文件,一个公钥文件(Identity.pub),一个私钥(Iden
  • 如何构建密钥对验证的SSH体系

    what?什么是密钥对验证的SSH体系?SSH支持两种验证方法,一种是用户身份验证另一种是密钥对验证,本文主要讲解如何实现密钥对验证。why?使用密钥对验证的好处?密钥对验证更加安全,并且可以免交互。使用起来更加安全、便捷。where?应用在哪里?可应用于OpenSSH,实现更加安全、免交互的远程登录、拷贝、复制等操作。how?如何实现?下图为在Linux服务器、客户机中构建密钥
  • Centos7无法使用ssh登陆及解决方案

    Centos7无法使用ssh登陆及解决方案今天项目组反映,有一台Centos7服务器无法使用SSH登陆了,所以我就通过本地登陆到该系统后,发现SSH服务没有启动,该判断方法主要是使用的是netstat方法进行查看;netstat -anlpt | grep 22说到这,如果是Centos7的话,我们如果想要使用netstat的命令的话,需要
  • 使用Paramiko实现SSH登陆,文件上传下载

    1,SSh登陆命令行实现:#!/usr/bin/env python # encoding: utf-8 import paramiko private_key_path = "/Users/aolens/.ssh/id_rsa" key = paramiko.RSAKey.from_private
  • ssh key密钥认证实现批量分发、管理、部署

    在实际生产环境中,如果需要批量管理和部署服务器,可以采用ssh+key秘钥认证,然后可以免密码进行数据分发,服务部署及管理。  SSH服务(TCP端口号22):安全的命令解释器为客户机提供安全的Shell 环境,用于远程管理SSH基于公钥加密(非对称加密)技术: 数据加密传输; 客户端和服务器的身份验证;公钥 和 私钥   是成对生成的,这两个密钥互