经常在工作中须要在各个Linux机间进行跳转,每次password的输入成了麻烦,并且也不安全。在实际使用中,在windows下常使用secureCRT工具或teraterm工具进行SSH登录。以及实现hadoop集群部署要求的无password跳转问题。

SSH分为有password登录和证书登录。考虑到安全性因素,一般都是採用证书登录。即:每次登录无需输入password。

假设是password登录,非常easy遭受到外来的攻击。

一、证书登录的过程:

1.client生成证书的私钥和公钥。

私钥放在client。公钥上传到服务端(远程登陆端)。

一般为了安全,訪问有黑客拷贝client的私钥。client在生成私钥时。会设置一个password,以后每次登录sshserver时,client都要输入password解开私钥(假设工作中,你使用了一个没有password的私钥,有一天server被黑了,你是跳到黄河都洗不清)。

2.server加入信用公钥。

把client生成的公钥,上传到sshserver,加入到指定的文件里。这样,就完毕ssh证书登录的配置了。

如果client想通过私钥要登录其它sshserver,同理。能够把公钥上传到其它sshserver。

实际应用举例:

工生成好私钥和公钥(千万要记得设置私钥password)。然后把公钥发给运维人员,运维人员会登记你的公钥。为你开通一台或者多台server的权限。然后员工就能够通过一个私钥,登录他有权限的server做系统维护等工作。所以。员工是有责任保护他的私钥的。假设被别人恶意拷贝。你又没有设置私钥password。那么,server就全完了,员工也能够放长假了。

二、证书登陆实例:

  环境:A通过ssh方式登陆B。即:A为本地机,B为远程登陆server

1.A机配置

①生成公钥和私钥

# ssh-keygen -t rsa           (连续三次回车,即在本地生成了公钥和私钥,不设置password)

②将公钥拷到B端

         # scp  root@B的iP:root/.ssh/id_rsa.pub  ./.ssh/id_rsa.pub  (须要输入password)

2.B机配置

①创建authorized_keys2文件

# touch /root/.ssh/authorized_keys2      (假设已经存在这个文件, 跳过这条)

②追加公钥到authorized_keys2中

# cat /root/.ssh/id_rsa.pub   >> /root/.ssh/authorized_keys2 (将id_rsa.pub的内容追加到 authorized_keys2 中)

3.SSH证书登陆验证

# ssh root@B的iP           (由于没有设置私钥password, 所以不须要password, 登录成功)

三、其它应用场景:

SecureCRT密钥key远连接程ssh证书登录Linux

国内大部分人用的系统是windows,而windows下有非常多sshclient图形工作,最流行,功能最强大的就是SecureCRT了,所以我会单独针对SecureCRT简单讲下实现ssh证书登录Linux的要点,过程例如以下:

1:在SecureCRT创建私钥和公钥:

主菜单->工具->创建公钥->选择RSA->填写私钥的password->密钥长度填为1024->点击完毕,生成两个文件,默认名为identity和identity.pub

2.把私钥和公钥转换为OpenSSH格式:

主菜单->工具->转换私钥到OpenSSH格式->选择刚生成私钥文件identity->输入私钥的password->生成两个文件,指定为id_rsa, id_rsa.pub

3.把公钥id_rsa.pub上传到sshserver,依照之前配置server端的证书,再配置一次。

另外,假设你之前用windows的 SecureCRT的证书登录linux的,有一天你换成了linux,并希望通过原来的私钥登录公司的server,那么能够把id_rsa拷贝倒~/.ssh/文件夹下。

备注:

ssh对证书的文件和文件夹权限比較敏感,要么依据出错提示设置好文件和文件夹权限。要么是把StrictModes选项设置为no。

hadoop部署的无passwordssh登录

hadoop要求master要无password跳转到每一个slave,那么master就是上文中的sshclient了。过程例如以下:

1.在hadoop master上,生成公钥私钥。这个场景下。私钥不能设置password。

2.把公钥上传到每一个slave上指定的文件夹。这样就完毕了ssh的无password跳转了。

四、总结:

ssh证书登录,在实际工作才是最经常使用的登录方式,本人结合了真正工作的场景普及了ssh证书登录的知识,并依据流行的hadoop部署和windows下最经常使用的SecureCRT实例解说了证书登录。

SSH证书登录方式(无password验证登录)的更多相关文章

  1. vty密码登录,到AAA验证登录,以及远程配置网络

    华为的的最简易的远程登录方式,就是密码登录了. 配置命令如下图: 最重要的是权限: 访问级(0级).监控级(1级).系统级(2级)和管理级(3级) 在以上基础上,做了一个远程配置方式,通过一台,修改其 ...

  2. 修改官方发行openstack镜像的cloud-init登录方式为账号密码登录

    openstack使用的镜像多为qcow2格式,各个发行商也开源了针对openstack制作的镜像.但是这些镜像的登录方式都是注入用户名和密码的方式,就是说不能够直接通过账号和密码登录.那么如何将一个 ...

  3. Thinkphp框架 表单自动验证登录注册 ajax自动验证登录注册

    说明:这里没练习静态自动验证:如果用到静态验证首先自定义一个控制器,再在Model文件夹里创建一个NiHaoModel.php 类  NiHao是自定义的,前缀可以随意,但是一定要用驼峰法(首字母大写 ...

  4. SSH无password登陆配置

    摘录一 在192.168.42.142机器上 1)执行:ssh-keygen -t rsa 2)然后拍两下回车(均选择默认) 3)执行: ssh-copy-id -i /root/.ssh/id_rs ...

  5. 配置OpenVpn使用证书和用户名密码双验证

    修改OpenVpn的主配置文件 添加一下内容: [root@check1 openvpn]# tail -3 server.conf auth-user-pass-verify /etc/openvp ...

  6. 实现ssh的无password登录

    这里所说的ssh是指OpenSSH SSHclient.是用于登录远程主机.而且在远程主机上运行命令.它的目的是替换rlogin和rsh,同一时候在不安全的网络之上,两个互不信任的主机之间,提供加密的 ...

  7. Ssh 证书验证登录

    一般使用 PuTTY 等 SSH 客户端来远程管理 Linux 服务器.但是,一般的密码方式登录,容易有密码被暴力破解的问题.所以,一般我们会将 SSH 的端口设置为默认的 22 以外的端口,或者禁用 ...

  8. h3c交换机配置ssh密码验证登录方式

    一.背景: 1.由于PC机串口不支持热插拔,请不要在交换机带电的情况下,将串口插入或者拔出PC机.当连接PC和交换机时,请先安装配置电缆的DB-9端到PC机,再连接RJ-45到交换机:在拆下时,先拔出 ...

  9. 以证书的方式登录ssh

    常常要登录多台Linux服务器,过去在Windows下使用SecureCRT,比较省心,配置还可以放到云盘,实时同步.现在改用MAC貌似就没有那么好用的东西了,每次ssh命令登录都需要输入密码,很烦. ...

随机推荐

  1. MySQL分区技术 (一)

    4:MySQL 分区技术(是mysql 5.1以版本号后開始用->是甲骨文mysql技术团队维护人员以插件形式插入到mysql里面的技术) 眼下,针对海量数据的优化主要有2中方法: 1:大表拆成 ...

  2. 彻底删除"提示删除文件和目录"时出错的文件或目录

    当删除文件是出现上图时  能够用以下的方法删除文件 策略一:系统大法 第一招  进程帮你搞定 很多时候乱码文件名称里的文件是explorer.exe进程联系在一起的. 假设要删除的话能够这样:首先命令 ...

  3. expression:stream!=NULL

    如果fopen()后返回的是NULL:就不能调用fclose()了: 用fopen()获得的文件句柄不是NULL,那么就需要用fclose()来关闭它.如果是NULL则不需要 null就表示你打开文件 ...

  4. Java发展的时间表

    Java发展的时间表. (版本号 名称 中文名 发布日期) JDK 1.1.4 Sparkler 宝石 1997-09-12 JDK 1.1.5 Pumpkin 南瓜 1997-12-13 JDK 1 ...

  5. 深入浅出Windows BATCH

    1.什么是Windows BATCH BATCH也就是批处理文件,有时简称为BAT,是Windows平台上的一种可运行脚本,与*nix(Linux和Unix)上的Shell脚本和其它的脚本(Perl, ...

  6. cocos2d-js-v3.0-rc0 下 pomelo-cocos2d-jsb native web 配置

    一.基本步骤 注意:pomelo-cocos2d-jsb 没实用 https://github.com/NetEase/pomelo-cocos2d-jsb,原因这个不是最新版,另外,componen ...

  7. Windows下安装MySQLdb, Python操作MySQL数据库的增删改查

    这里的前提是windows上已经安装了MySQL数据库,且配置完成,能正常建表能操作. 在此基础上仅仅需安装MySQL-python-1.2.4b4.win32-py2.7.exe就ok了.仅仅有1M ...

  8. ubuntu linux 13.04更新

    首先备份源列表: sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup 而后用gedit或其他编辑器打开: gksu gedit /et ...

  9. 京东商城招聘scala 高级开发工程师 T3级别

    岗位级别:T3 岗位职责: 1.参与自动调价.匹配系统的设计和实现 岗位要求: 1. 一年以上scala开发经验2.良好的函数式编程能力3. JAVA基础扎实4.熟悉大数据处理,有hadoop/hba ...

  10. 算法8-4:Kruskal算法

    Kruskal算法用于计算一个图的最小生成树.这个算法的过程例如以下: 依照边的权重从小到达进行排序 依次将每条边添加到最小生成树中,除非这条边会造成回路 实现思路 第一个步骤须要对边进行排序,排序方 ...