使用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. android shell常用命令

     du -sm foldername 查看文件夹foldername 的大小,单位是兆(m),du -sk foldername单位是k    adb shell rm -r /mnt/sdcard/ ...

  2. 剑指offer编程题Java实现——替换空格

    题目描述 请实现一个函数,将一个字符串中的空格替换成"%20".例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. package ...

  3. [译]AngularJS 1.3.0 开发者指南(一) -- 介绍

    [译]AngularJS 1.3.0 开发者指南(一) -- 介绍 Angular是什么 ? AngularJS是一款针对动态web应用的结构框架. 它可以让像使用模板语言使用HTML, 并且可以扩展 ...

  4. JS完成页面跳转并传参的方法|附加:循环遍历对象

    此方法只能传递较少参数 方法如下: <a href='page/index.html'>跳转</a> 以上是正常写法,如果要传参按一下写法: <!--参数写在?后面,多个 ...

  5. CSS常用字体Unicode 编码

    在 CSS 中设置字体名称,直接写中文是可以的.但是在文件编码(GB2312.UTF-8 等)不匹配时会产生乱码的错误. 为此,在 CSS 直接使用 Unicode 编码来写字体名称可以避免这些错误. ...

  6. Struts2之访问路径

    上一篇已经和大家分享了关于Struts2命名空间和Action的三种创建方式,本篇我们接着命名空间的内容,来一起探讨一下关于Struts2的访问路径问题,何为访问路径,就是指当我们在浏览器输入地址,点 ...

  7. mfc---CFileDialog的过滤器

    CFileDialog的过滤器每种类型由两部分组成“tda|*.tda”,两种类型之间用“|”隔开

  8. Extjs中创建Tree菜单【一】

    此篇treepanel的描写是很简单,没有太大的难度,在学习时,可以先熟悉tree的一些配置信息.属性.方法和事件. 然后先写一个简单的例子,慢慢了解从中如何实现的,然后在慢慢的深入了解,实现一些复杂 ...

  9. oracle expdp和impdp常用命令选项

    一.expdp导出数据库 1.按用户导出 expdp scott/tiger@orcl DIRECTORY=oracle_dmp dumpfile=bak.dmp schemas=scott vers ...

  10. Java面试12|Linux及Shell脚本

    1. 随便写一个awk的命令.用awk统计文本行数 (1)最近登录的5个帐号 last -n 5 | awk -F ':'(指定域分割符号) '{print $1}' 读入有'\n'换行符分割的一条记 ...