deepin下深度终端使用ssh-agent(xshell中的xagent功能)
背景:从windows10换到deepin后,在连接公司的服务器遇到了问题:windows下用的是xshell,开启xagent后,可直接从公司的跳转板上连接生产服务器;在deepin的深度终端上,从公司的跳板机连接到生产服务器时,提示需要public key。baidu+google几次之后,终于解决了这个问题。
在深度终端中,实现像xshell下那样,快速地登录生产服务器,至少要解决两个问题:
开启ssh-agent(在xshell下只需勾选xagent即可)
免密码输入
深度终端中自带了远程服务器的管理功能,可惜的是,并不支持ssh-agent功能,因此只能自主实现了。
关于如何开启ssh-agent方法,主要是使用以下命令:
eval `ssh-agent`
对于如何免密码输入,可以使用expect功能,实现密码自动输入。幸运的是,expect在deepin上已经默认安装了,不能再去折腾安装过程了。
我使用的shell脚本如下:
#!/bin/bash
#
# ssh 连接方法,开启ssh-agent
#
connect() {
#开启ssh-agent
eval `ssh-agent`
#使用expect实现密码自动输入
expect -c "
spawn ssh-add $1
#Enter passphrase for /home/root/.ssh/id_rsa:
expect "*passphrase*"
send -- $3\r
spawn ssh -A fangchengyan@$2 -p $4 -i $1
#Enter passphrase for key '/home/root/.ssh/id_rsa':
expect "*passphrase*"
send -- $3\r
interact
exit
"
exit
}
PASSWORD="password"
SSH_KEY="/home/root/.ssh/id_rsa"
SERVER="192.168.0.1"
PORT=22
#
# 使用时,可根据编号,自主选择要连接的服务器
#
echo '请选择:'
echo '1) 跳板机1-192.168.0.1'
echo '2) 跳板机2-192.168.0.2'
read num
case $num in
1)
SERVER="192.168.0.1"
connect ${SSH_KEY} ${SERVER} ${PASSWORD} ${PORT}
;;
2)
SERVER="192.168.0.2"
connect ${SSH_KEY} ${SERVER} ${PASSWORD} ${PORT}
;;
*)
connect ${SSH_KEY} ${SERVER} ${PASSWORD} ${PORT}
;;
esac
exit
以上脚本开启了ssh-agent功能,并实现了自动密码输入功能,代替了xshell中的xagent功能。
最后,想说的是,使用linux是一个折腾的过程,期待deepin快速发展(愿深度终端早日支持ssh-agent功能),让我们这些使用者能少些折腾。
原作者:Funcy1122
原地址:https://my.oschina.net/funcy/blog/1941167
deepin下深度终端使用ssh-agent(xshell中的xagent功能)的更多相关文章
- Deepin下phpunit安装,以及执行过程中所遇到的问题
Deepin下phpunit安装,以及执行过程中所遇到的问题 安装phpunit步骤 wget https://phar.phpunit.de/phpunit.phar chmod +x phpuni ...
- linux下将终端的输入存入文件中
代码很简单: #include <stdlib.h> #include <fcntl.h> #include <stdio.h> #include <unis ...
- Deepin 下开启SSH远程登陆
关于deepin下安装ssh以后root用户登陆报错的解决 最近刚刚接触到deepin,觉得,wow,除了mac,还有这么好看的非win系统,而且第测出那个Linux,宽容度很高,非常适合我这种比 ...
- deepin下codeblocks更改调试终端
codeblocks建立控制台程序生成完毕后,发现自带的调试终端xterm不能进行复制粘贴操作参考了Ubuntu的更换调试终端的方法,就是把deepin下的deepin-terminal 用作调试终端 ...
- 一款国内好用的Linux发行版?Deepin(深度)Linux
一款国内好用的Linux发行版?Deepin(深度)Linux 目前来说,要将Linux作为桌面解决方案,对于大多数PC用户来说,当然是不现实的,毕竟Linux的主力用户群体依然是少数极客用户.说白了 ...
- win10中xshell的ssh链接virtualBox中的centos7
win10下virtualbox中centos7.3与主机通过xshell的ssh建立连接的方法 2017-02-19 01:29 版权声明:本文为博主原创文章,未经博主允许不得转载. 最近 ...
- 全新 Mac 安装指南(编程篇)(环境变量、Shell 终端、SSH 远程连接)
注:本文专门用于指导对计算机编程与设计(尤其是互联网产品开发与设计)感兴趣的 Mac 新用户,如何在 Mac OS X 系统上配置开发与上网环境,另有<全新 Mac 安装指南(通用篇)>作 ...
- windows下使用密钥登录Linux及xshell代理转发
1.密钥登录原理 一般我们使用xshell访问远程主机(Linux主机)时,都是先请管理员给我们开一个账户,即为我们设置一个一个用户名和对应的密码,然后我们就可以使用下面的方式登录到远程主机了: 在这 ...
- Cmder Windows 下的终端神器
废话 Windows 下常用的终端有两个,古老的 cmd 和功能强大但你记不住函数的 PowerShell ,两者我都用过一段时间,给我的提体验是功能够用,界面丑陋,虽然 win10 下可以通过调整背 ...
随机推荐
- vscode vue 模版生成,vue 一键生成
vscode vue 模版 继上篇文章(vue 格式化),顺便记录下 vue 模版生成.图片就不在贴了,如果有找不到 vscode 插件商店的可以访问上篇文章. 一.安装 VueHelper 在 vs ...
- NKOJ4238 天天爱跑步(【NOIP2016 DAY1】)
问题描述 小C同学认为跑步非常有趣,于是决定制作一款叫做<天天爱跑步>的游戏.<天天爱跑步>是一个养成类游戏,需要玩家每天按时上线,完成打卡任务. 这个游戏的地图可以看作一棵包 ...
- 力软敏捷框架 jfGrid 的使用说明
很多人使用力软敏捷框架的一个困扰就是表格控件,力软并没有使用常规的jqgrid,而是用了自己的一套 jfgrid.所以今天在这做个简单的说明,如果你有什么疑问也可以在评论区提出来,后期的文章会做说明. ...
- Java基础部分脑图
这两天事情多,Java摸鱼了,就抽空写了一个脑图聊以自慰,表示自己还是学了的 下面这些全会了,恭喜你,Java的基础你可以毕业了
- JavaScript五子棋第二版
这是博主做的一个移动端五子棋小游戏,请使用手机体验.由于希望能有迭代开发的感觉,所以暂时只支持双人对战且无其他提示及对战界面,只有胜利提示,悔棋.对战双方显示.人机对战.集成TS(用于学习).和局 ...
- vue中的js引入图片,使用require相关问题
vue中的js引入图片,必须require进来 或者引用网络地址 <template> <div class="home"> <img alt=&qu ...
- PTA数据结构与算法题目集(中文) 7-25
PTA数据结构与算法题目集(中文) 7-25 7-25 朋友圈 (25 分) 某学校有N个学生,形成M个俱乐部.每个俱乐部里的学生有着一定相似的兴趣爱好,形成一个朋友圈.一个学生可以同时属于若干 ...
- SpringMVC(六):分层整合SSM
环境搭建 版本: MySQL 8 SpringMVC+Spring+Mybatis C3P0连接池 数据库建表 CREATE DATABASE `ssmbuild`; `ssmbuild` DROP ...
- javascript入门 之 zTree(十一 托拽事件(一))
<!DOCTYPE html> <HTML> <HEAD> <TITLE> ZTREE DEMO - drag & drop</TITLE ...
- 抓包工具fiddler安装和配置
常见的抓包工具:fiddler.wireshark,本文以安装fiddler为例: 在官网上https://www.telerik.com/fiddler下载,安装后打开fiddler. 选择好自己的 ...