公司使用到阿里云.

需要使用 ssh-agent forward 来跳转.为了方便自己就写了这个脚本 1 #!/bin/sh 2 # auto start ssh-agent and add key

关于SSH-agent的使用,大家可以百度.一搜一堆..

简单的介绍下: P-B-C

你从P连接到C必须经过B,这个时候,你如果需要使用SSH-key的话, 要么将private key 放到B上边

ssh B,

ssh C

这样操作就需要比较复杂,key的安全也得不到保障,

这个时候我们就使用ssh-agent

eval `ssh-agent `

ssh-add  your private key

ssh -A B

ssh C

这样就可以省略了将key放在了B上的麻烦了

看起来也不简单,so,自己撸个脚本..

 #!/bin/sh
# auto start ssh-agent and add key
# author: Mo..
# QQ群:
if [ -f ~/.agent.env ];then
. ~/.agent.env >/dev/null
if ! kill - $SSH_AGENT_PID >/dev/null >&; then
echo " stale agent file found. Spawning new agent...."
eval `ssh-agent | tee ~/.agent.env `
if [[ $? -eq ]] ;then
echo "agent ok!"
fi
ssh-add '/root/.ssh/xxxxx' # your private key
if [[ $? -eq ]] ; then
echo "key add ok!"
fi
fi
else
eval ` ssh-agent |tee ~/.agent.env` >/dev/null >&
if [[ $? -eq ]] ;then
echo "agent ok!"
fi
ssh-add '/root/.ssh/xxxx' # your private key
if [[ $? -eq ]] ; then
echo "key add ok!"
fi
fi
echo "ali IP : 120.26.xxx.xxx"

#最后的echo IP 是我的forward iP  你也可以改成其他的

脚本使用:

  A.自动运行:

    直接放到/etc/profile.d,开机自动运行

  B.手动运行:

    source ali.sh

转载请保留原文完整,注明出处!谢谢!

有什么问题和建议可以留下来!一起讨论学习

ssh-agent自启动加key脚本的更多相关文章

  1. 【SSH项目实战三】脚本密钥的批量分发与执行

    [SSH项目实战]脚本密钥的批量分发与执行 标签(空格分隔): Linux服务搭建-陈思齐 ---本教学笔记是本人学习和工作生涯中的摘记整理而成,此为初稿(尚有诸多不完善之处),为原创作品,允许转载, ...

  2. linux ssh 使用深度解析(key登录详解)

    SSH全称Secure SHell,顾名思义就是非常安全的shell的意思,SSH协议是IETF(Internet Engineering Task Force)的Network Working Gr ...

  3. 批量SSH key-gen无密码登陆认证脚本

    SSH key-gen无密码登录认证脚本 使用为了让linux之间使用ssh不需要密码,可以采用了数字签名RSA或者DSA来完成.主要使用ssh-key-gen实现. 通过 ssh-key-gen 来 ...

  4. SSH agent 的使用 - 资料摘录

    下面是一些ssh agent的资料简要摘录,网路上的相关的文章已经很多了: ssh 推荐的登录方式是使用私钥登录.但是如果生成私钥的时候,设置了口令(passphrase),每次登录时需要输入口令也很 ...

  5. 批量SSH key-gen无密码登陆认证脚本 附件脚本

    # 批量实现SSH无密码登陆认证脚本 ## 问题背景 使用为了让linux之间使用ssh不需要密码,可以采用了数字签名RSA或者DSA来完成.主要使用ssh-key-gen实现. 1.通过 ssh-k ...

  6. linux解析映射文件与自动加载脚本

    目录 一 :解析映射文件 1.解析文件的由来之主机名: 2.解析映射文件(DNS) 二:磁盘挂载文件 三:开机自动加载脚本 一 :解析映射文件 1.解析文件的由来之主机名: 无论是在局域网还是在INT ...

  7. 一步一步开发Game服务器(三)加载脚本和服务器热更新(二)完整版

    上一篇文章我介绍了如果动态加载dll文件来更新程序 一步一步开发Game服务器(三)加载脚本和服务器热更新 可是在使用过程中,也许有很多会发现,动态加载dll其实不方便,应为需要预先编译代码为dll文 ...

  8. Nginx启动、关闭、重新加载脚本

    #! /bin/sh # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts the nginx web ...

  9. JS 动态加载脚本 执行回调_转

    关于在javascript里面加载其它的js文件的问题可能很多人都遇到过,但很多朋友可能并不知道怎么判断我们要加载的js文件是否加载完成,如果没有加载完成我们就调用文件里面的函数是不会成功的.本文讲解 ...

随机推荐

  1. php用get_meta_tags轻松获取网页的meta信息

    之前没发现php还有这个函数,get_meta_tags()直接就可以获取文件中meta标签的属性值,返回数组: <?php $metas = get_meta_tags('http://www ...

  2. stack适配栈

    #include <stack> stack<int> s; s.empty() 如果栈为空,则返回 true,否则返回 stack s.size() 返回栈中元素的个数 s. ...

  3. 一个oracle存储过程

    打开plsql,在packages文件夹里新建存储过程 在sql窗口中运行如下语句 create or replace package SY_USER_PKG1 is TYPE MYCURSOR IS ...

  4. 《iPhone高级编程—使用Mono Touch和.NET/C#》

    第1章 C#开发人员基于MonoTouch进行iPhone开发概述 1 1.1 产品对比 2 1.1.1 .NET Framework 2 1.1.2 Mono 2 1.1.3 MonoTouch 3 ...

  5. NSIS脚本调用C语言写的插件

    其实NSIS的官网已经提供了很多别人开发的插件了,今天需要用到GetVersion这个插件,这是不维护的插件了,不推荐用,但是由于现实中的问题,导致我不得不用这个插件. 所以就下载下来了. 下载下来之 ...

  6. 2015第23周四HTML特殊字符显示问题

    1.项目中常采用EL表达式来输出后台内容,但测试发现它并不能完美处理要输出内容包含有<>或&等HTML特殊字符问题.先直接给出此问题JSTL的解决方案: 1.引入标签:<%@ ...

  7. 专注于HTTP的高性能高易用性网络库:Fslib.network库

    博客列表页:http://blog.fishlee.net/tag/fslib-network/ 原创FSLib.Network库(目前专注于HTTP的高性能高易用性网络库) FSLib.Networ ...

  8. Polymorphism & Overloading & Overriding

    In Java, a method signature is the method name and the number and type of its parameters. Return typ ...

  9. phpcms:四、尾部包含

    四.尾部包含1.包含尾部文件:{template "content","footer"}2.栏目列表调用(关于我们| 联系方式| 版权声明| 招聘信息|):{p ...

  10. Thinkphp显示系统常量信息的方法(php的用法)

    输入 :public function Main()    {        dump(get_defined_constants(true));    }显示系统信息, 其中: 'APP_PATH' ...