公司使用到阿里云.

需要使用 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. 3月19日 html(一) html基础内容

    ---恢复内容开始--- 今天学习了html的第一节课,是些比较简单的基础知识,知道如何向网页里添加文本.图片.表格.超链接之类的,如何去编写这些代码. html(hyper text makeup ...

  2. python修改txt文件内容

    ①以r模式打开文件并用readlines方法读入列表l中 ②修改相关行,直接用l[n]形式即可 ③关闭文件 ④以w方式打开文件,用writelines方法写入文件(覆盖文件内容) ⑤关闭文件 需要注意 ...

  3. 类和对象:一些相关的BIF - 零基础入门学习Python040

    类和对象:一些相关的BIF 让编程改变世界 Change the world by program 一些类和对象相关的 BIF 今天我们来谈谈跟类和对象相关的一些BIF(内置函数): issubcla ...

  4. GO的数组及切片

    感觉在向PYTHON学一些数组方面的功能. package main import "fmt" func main() { ]], , , , , , , , , } ] fmt. ...

  5. 深入理解7816(3)-----关于T=0

    卡片和终端之间的数据传输是通过命令响应的方式进行的,卡片只能被动地接收命令,并且给出响应.所有的命令都是以命令头开始,而该命令被完整地执行后(无论结果对错),必须以包含状态字(SW1 SW2)的响应结 ...

  6. 关于NSIS脚本的Demo

    这个NSIS脚本是打包公司的整个Release项目工程. 用NSIS编译器编译下就可以了. ; Script generated by the HM NIS Edit Script Wizard. ! ...

  7. 【转】如何解决Ubuntu终端里面显示路径名称太长

    原文网址:http://jingyan.baidu.com/article/3d69c5516c129df0ce02d77b.html Ubuntu 默认的终端下面,进入很多层的目录后,前面那个提示符 ...

  8. 玩转指针(Playing with Pointers)

    Question: What is a Pointer? What are its limitations? What are its benefits? How do we use it? What ...

  9. 原生javascript 获得css样式有几种方法?

    css 样式分为行内样式和 外部样式: 1.javascript 获得行内样式 : 可以使用  ele.style."属性名称"(如果遇到属性名称带有"-", ...

  10. [AngularJS + RxJS] Search with RxJS

    When doing search function, you always need to consider about the concurrent requests. AEvent ----(6 ...