背景:从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*"
sen