使用 autossh 实现 SSH 免密登陆
快速 SSH 免密登陆
前言
使用 autossh 在 Linux & Mac 实现 SSH 免密登陆
安装 autossh
执行如下命令:
$ git clone https://github.com/FeeiCN/autossh.git --depth=1
$ sudo cp autossh/autossh /usr/local/bin/
配置 autossh
创建 .autosshrc
文件:
$ vim ~/.autosshrc
编辑内容:
server_name|ip|user|password|port|is_bastion
// example
堡垒机|192.168.0.1|hackerdom|123456|22|1
阿里云|192.168.0.2|mayun|123456|22|0
腾讯云|192.168.0.3|mahuateng|123456|22|0
使用
在终端输入如下命令:
$ autossh
会显示如下界面,之后输入服务器序号即可:
$ autossh
############################################################
# [AUTO SSH] #
# #
# #
# [1] 堡垒机 - 192.168.0.1:hackerdom #
# [2] 阿里云 - 192.168.0.2:mayun #
# [3] 腾讯云 - 192.168.0.3:mahuateng #
# #
# #
############################################################
Server Number:(Input Server Num)
快速登陆服务器(例如 阿里云):
$ autossh 2
使用 sudo 权限登陆服务器
$ autossh 2 sudo
堡垒机操作
$ autossh 1 192.168.1.1
$ autossh 1 192.168.1.1 sudo
踩坑
在使用过程中发现,autossh
登陆之后使用 rz
和 sz
上传下载文件的时候会出现假死状态,于是查看了 autossh
源码发现是使用 expect
来实现自动化登陆,经过一番寻找之后发现一个解决方案,在脚本之前增加如下命令:
export LC_CTYPE=en_US
缺点是远程机器里面的中文可能会乱码。
最后修改于 2019-05-19
此篇文章的评论功能已经停用。