使用ssh-genkey生成公用key,但是自己使用时会多次提示,Enter passphrase for key,这儿给出如何解决。

在${HOME}/.bashrc中增加如下代码:

  1. alias auto_passphrase=auto_passphrase
  2.  
     
  3.  
     
  4. SSH_ENV=~/.ssh/environment
  5. # start the ssh-agent
  6. function start_agent {
  7.    echo "Initializing new SSH agent…"
  8.    # spawn ssh-agent
  9.    ssh-agent | sed 's/^echo/#echo/' > "$SSH_ENV"
  10.    echo succeeded
  11.    chmod 600 "$SSH_ENV"
  12.    . "$SSH_ENV" > /dev/null

  13.    ssh-add
  14. }
  15.  
     
  16. # test for identities
  17. function test_identities {
  18.    # test whether standard identities have been added to the agent already
  19.    ssh-add -l | grep "The agent has no identities" > /dev/null

  20.    if [ $? -eq 0 ]; then
  21.    ssh-add
  22.       # $SSH_AUTH_SOCK broken so we start a new proper agent
  23.       if [ $? -eq 2 ];then
  24.       start_agent
  25.       fi
  26.    fi
  27. }
  28.  
     
  29. #auto_ssh
  30. function auto_passphrase {
  31.    # check for running ssh-agent with proper $SSH_AGENT_PID
  32.    if [ -n "$SSH_AGENT_PID" ]; then
  33.       ps -ef | grep "$SSH_AGENT_PID" | grep ssh-agent > /dev/null

  34.       if [ $? -eq 0 ]; then
  35.       test_identities
  36.       fi
  37.    # if $SSH_AGENT_PID is not properly set, we might be able to load one from
  38.    # $SSH_ENV
  39.    else

  40.       if [ -f "$SSH_ENV" ]; then
  41.       . "$SSH_ENV" > /dev/null

  42.       fi
  43.       ps -ef | grep "$SSH_AGENT_PID" | grep -v grep | grep ssh-agent > /dev/null

  44.       if [ $? -eq 0 ]; then
  45.          test_identities
  46.       else

  47.          start_agent
  48.       fi
  49.    fi
  50. }

 

 

原始文章:http://wooley.me/archives/589

搞定:Enter passphrase for key提示的更多相关文章

  1. mac配置完ssh依然提示"Enter passphrase for key"解决方法

    使用Git,每次都提示输入命令. 这个问题折磨很久,明明已经配置过ssh了,可是每次还要提示输入密码,从网上查查,最后一条命令解决问题: 问题提示: Enter passphrase for key ...

  2. 一直出现 Enter passphrase for key '/root/.ssh/gitkey12.pub'

    案例: 我一下没有设置密码的pub key, 一使用就要求: Enter passphrase for key '/root/.ssh/gitkey12.pub',   原因:本该设置私钥的地方,设置 ...

  3. Enter passphrase

    提示“Enter passphrase for key /root/.ssh/id_rsa.pub”让输入私钥,可不论输与不输都不能直接登录 解决方法: 在本地执行: eval `ssh-agent` ...

  4. iOS基于MBProgressHUD的二次封装,一行搞定,使用超简单

    MBProgressHUD的使用,临时总结了几款最常用的使用场景: 1.提示消息 用法: [YJProgressHUD showMessage:@"显示文字,1s隐藏" inVie ...

  5. AFNetworking3.0+MBProgressHUD二次封装,一句话搞定网络提示

    对AFNetworking3.0+MBProgressHUD的二次封装,使用更方便,适用性非常强: 一句话搞定网络提示: 再也不用担心网络库更新后,工程要修改很多地方了!网络库更新了只需要更新这个封装 ...

  6. 多key业务,数据库水平切分架构一次搞定

    数据库水平切分是一个很有意思的话题,不同业务类型,数据库水平切分的方法不同. 本篇将以"订单中心"为例,介绍"多key"类业务,随着数据量的逐步增大,数据库性能 ...

  7. 如何使用 APM 搞定 PHP 应用的性能优化?

    APM 究竟是什么? 很多人都是第一次听说 APM 的概念,本文主要阐述如何使用 APM 的解决方案来实现 PHP 应用性能的优化.首先先介绍一下 APM (Application Performan ...

  8. 解决GitHub未配置SSH key提示错误信息

    git push -u origin master Permission denied (publickey). fatal: Could not read from remote repositor ...

  9. CHUCK手把手带你搞定OPENSTACK

    一.OpenStack初探 1.1 OpenStack简介 OpenStack是一整套开源软件项目的综合,它允许企业或服务提供者建立.运行自己的云计算和存储设施.Rackspace与NASA是最初重要 ...

随机推荐

  1. configparser配置文件模块

    1.configparser的作用 mysql等很多文件的配置如下: [DEFAULT]ServerAliveInterval = 45Compression = yesCompressionLeve ...

  2. Mysql删除表格之后,进行恢复

    一:存在在PHPmyAdmin下找到表格导出然后再导入 二:当没有备份时,使用binlog功能进行恢复 先进入到/etc/my.cnf文件中. 在文件中添加一句:log-bin=mysql-bin 然 ...

  3. 关于adb重启的一些问题

    有时候我们在使用eclipse启动虚拟机进行程序测试的时候会提示,要我们重启adb和eclipse,这个时候,重启adb的方式就是,使用cmd定位到adb所在的文件夹,然后输入指令:adb kill- ...

  4. 赵本山 教你如何在实战项目中使用WCF

    我们都知道调用WCF直接在Service References中引用可以远程调用的WCF Url就行了. 但是我们想过没,在Development环境中可以这样做,但是QA.UAT.Productio ...

  5. Servlet+Tomcat日志输出

    刚接触Servlet的时候,为了学习方便总是想验证自己的想法,那么输出日志是最常见的手法了,就自己亲身经历总结了如下几种方法,我用的是Web容器是Tomcat. 使用Log4J 在<Servle ...

  6. 《深入理解Java虚拟机》学习笔记之内存回收

    垃圾收集(Garbage Collection,GC)并不是Java语言的半生产物,事实上GC历史远比Java久远,真正使用内存动态分配和垃圾收集技术的语言是诞生于1960年的Lisp语言.经过半个世 ...

  7. golang中的reflect包用法

    最近在写一个自动生成api文档的功能,用到了reflect包来给结构体赋值,给空数组新增一个元素,这样只要定义一个input结构体和一个output的结构体,并填写一些相关tag信息,就能使用程序来生 ...

  8. JS事件监听器 addEventListener

    一:例如:给id为mydiv1的div元素添加click事件监听器document.getElementById("mydiv1").addEventListener(" ...

  9. java之JDK的环境变量配置

    JDK是什么? JDK是整个java开发的核心,它包含了JAVA的运行环境,JAVA工具和JAVA基础的类库. JDK包含的基本组件包括 java –--------> 运行编译后的java程序 ...

  10. JavaScript 再认识(一):Function调用模式对this的影响

    近来,学习了一下<JavaScript精粹>,读到了函数这章,理清了JavaScript中this在不同调用模式下的指向. 1.Function调用模式:Function是JavaScri ...