密钥认证

 密码验证会造成账户口令的外泄,不安全,基于账号的保密性考虑,可以采用密钥验证实现远程连接。

Linux--Linux

1.Linux客户端主机上生成密钥文件

 ssh-keygen -t rsa

 选择密钥文件保存位置:【回车】默认保存在/.ssh/

 为私钥文件设置密码:【回车】 不设置密码

 再次输入密码:【回车】不设置密码

 生成文件:id_rsa 私钥 id_rsa.pub 公钥

 私钥文件被他人取得,会非法利用远程连接,基于安全的考虑,为私钥文件设置密码

 如果为私钥文件设置密码,则在使用私钥时需先验证私钥密码

 启用私钥文件 ssh-add /root/.ssh/id_rsa

 验证私钥文件的密码

2.将公钥上传至ssh服务器

 scp /.ssh/id_rsa.pub root@172.18.209.220:/.ssh/authorized_keys

3.测试

ssh root@172.18.49.100 无需验证密码直接登录

windows--linux

 1.windows客户端生成密钥,将公钥传至linux Server

  (公钥验证存放在linux服务器,私钥解密存放在客户端)

  Puttygen 通过捕捉鼠标走向的算法生成密钥

  公钥保存为无后缀的(例如pub),因要传至linux,linux下文件无后缀,利用WinSCP传至linux

  私钥两种情况:保存为设置密码的私钥和不设置密码的私钥

 2.转换密钥格式

  将公钥pub内容转换格式存放到linux下的公钥验证文件   /root/.ssh/authorized_keys

  ssh-keygen -i -f pub(上传的公钥)>> /root/.ssh/authorized_keys

  vim /etc/ssh/sshd_config ssh的主配置文件

  PasswordAuthentication  yes改成no 不支持密码验证

  service sshd restart

 3.测试

  putty 密码验证 不能登录

  putty 左侧【SSH】 --【Auth】--【浏览】选择私钥文件

  先用没有设置密码的私钥登录成功

  再用设置密码的私钥登录--要求输入私钥密码

  WinSCP 同样支持需要私钥

linux--windows

 1.linux服务器端生成密钥,将私钥发放给授权的客户端

  ssh-keygen -t rsa

  选择密钥文件保存位置:【回车】默认保存在/.ssh/

  为私钥文件设置密码:【回车】 不设置密码

  再次输入密码:【回车】不设置密码

  重命名公钥文件,以用于验证:mv id_rsa.pub authorized_keys

  将私钥id_rsa利用WinSCP传至windows客户端

  私钥两种情况:保存为设置密码的私钥和不设置密码的私钥

 2.转换密钥格式

  利用puttygen软件将收到的私钥文件转换格式

  转换设置密码的私钥文件时需提供密码

  【载入】已有私钥--【保存】转换格式之后的私钥

 3.测试

  putty WinSCP 支持密钥验证

ssh认证的更多相关文章

  1. ssh 认证指定端口

    [root@database2 ~]# cat ssh.sh if [ ! $# -eq 2 ] ;then echo "请输入用户密码以空格分开" exit else ssh-k ...

  2. 批量的单向的ssh 认证

    <pre name="code" class="python">if [ ! $# -eq 2 ] ;then echo "请输入用户密码 ...

  3. debian下使用gitosis+gitweb搭建SSH认证的git服务器

    搭建完成Git服务器后,需要使用两台机器进行测试,一台机器作为服务器端server,一台服务器作为客户端client.整个系统,需要三个计算机账户,这里假设server端的账户名为git,client ...

  4. github添加ssh认证

    总概:在使用git的时候,和目标仓库建立关系有两种方式https,ssh.一般用的是https认证(这样简单方便),但有个缺点,pull,push等操作需要频繁输入用户验证.虽然可以把用户验证账号密码 ...

  5. Linux学习笔记总结--ssh认证登录

    原理简介 SSH证书认证登录的基础是一对唯一匹配密钥: 私钥(private key)和公钥(public key).公钥用于对数据进行加密,而且只能用于加密.而私钥只能对使用所匹配的公钥,所加密过的 ...

  6. git ssh认证

    一般新手用git时,使用HTTPS都需要输入用户名和密码,这是一个很低效的开发过程.(虽然有时可以让开发人员减少push的次数).github提供了几种连接方式,其中以https:开头的代表https ...

  7. 华为SSH认证配置

    [设备型号]华为switch-S5700s ————1: [SW1] rsa/dsa local-key-pair create #创建本地密钥对 The key name will be: SW1_ ...

  8. Jenkins - SSH认证方式拉取Git代码

    1.本地生成密钥 [root@root ~] ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which ...

  9. ssh 认证

    ssh 秘钥认证流程 ssh配置认证 基于口令(密码)的安全验证 [root@m01 ~]# ssh 10.0.0.41 hostname root@10.0.0.41's password: bac ...

  10. [Linux] 一次SSH认证失败引发的关于通过日志查错误的思考

    一.缘由: 早上在用SSH公钥认证打通所有的机器,有一台机器在完成一些列操作后密钥登陆失败,其他机器一切正常. 错误如下:Public-key authentication with the serv ...

随机推荐

  1. MediaPlayer滑动不准的问题

    因为MediaPlayer在seekto是异步进行的,如果在滑动过程中暂停,会导致滑动不准确的情况,这时候就需要添加滑动完成的监听即setOnSeekCompleteListener

  2. 大数据技术之_11_HBase学习_02_HBase API 操作 + HBase 与 Hive 集成 + HBase 优化

    第6章 HBase API 操作6.1 环境准备6.2 HBase API6.2.1 判断表是否存在6.2.2 抽取获取 Configuration.Connection.Admin 对象的方法以及关 ...

  3. 如何上传word

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha word图片上传控件 word 图片 上传

  4. 【BZOJ 4571】【SCOI 2016】美味

    http://www.lydsy.com/JudgeOnline/problem.php?id=4571 这道题因为有加法,不能像可持久化trie那样每次判断只判断一个子树,而是在主席树上查询\(\l ...

  5. List the Books

    描述 Jim is fond of reading books, and he has so many books that sometimes it's hard for him to manage ...

  6. Codeforces Beta Round #2 C. Commentator problem 模拟退火

    C. Commentator problem 题目连接: http://www.codeforces.com/contest/2/problem/C Description The Olympic G ...

  7. #iOS问题记录#WKWebView 闪退异常

    异常描述: pointer being freed was not allocated *** set a breakpoint in malloc_error_break to debug 问题描述 ...

  8. 判断IE版本的HTML语句详解,如:<!--[if IE 9]> 仅IE9可识别 <![endif]-->

    我们常常会在网页的HTML里面看到形如[if lte IE 9]……[endif]的代码,表示的是限定某些浏览器版本才能执行的语句,那么这些判断语句的规则是什么呢?请看下文: 注意:以下用法不支持IE ...

  9. Android Logcat Security(转)

    讲解了在Android开发中logcat使用不当导致的安全问题 原帖地址:http://drops.wooyun.org/tips/3812 0x00 科普 development version : ...

  10. Learning Note: SQL Server VS Oracle–Database architecture

     http://www.sqlpanda.com/2013/07/learning-note-sql-server-vs.html This is my learning note base on t ...