Assh 自动登录 SSH/SFTP 的小工具
assh
自动登录ssh脚本,使用 expect ,优化操作和加入配置文件
只限制 linux 机器使用
习惯了 laradock 和 laravel 的开发,终于忍受不了 win10 开发中的各种小问题,已经全部切换成了Linux 的 Elementary OS 发行版
linux 系统在开发中连接 ssh 很不方便,没有像 windows 有趁手的客户端,但系统自带的终端很得我心,所以写了这个脚本可以继承原生终端的优点,又可以自动连接服务器
第一步,需先安装 expect
sudo apt install -y expect
centos/redhat 系列需先安装
sudo yum instal -y expect
其他发行版自行使用包管理安装
expect
包
第二步,配置服务器连接信息
配置文件位于项目目录/ssh_hosts.conf,里面有注释说明以及配置格式
第三步,运行脚本选择服务器进行连接
cd 此项目目录
./assh.sh
# 输入序号进行连接(直接回车默认0)
# 如无执行权限,请先 chmod +x run.sh expect.sh
第四部,配置alias,简化操作
vi ~/.bashrc
# 最后一行加入
alias assh='/此项目绝对路径/assh.sh'
# 示例
# alias assh='/var/www/assh/assh.sh'
# alias asftp='/var/www/assh/asftp.sh'
# 即时生效
source ~/.bashrc
Features
- 优化超时,每60秒发送ping包,避免终端假死
- 兼容密码和私钥登录,自行配置
- 使用原生ssh命令,非编程语言接口封装,所以你用的终端是什么样,连接后的操作也是什么样。(比如继承ctrl+c/v)
github
https://github.com/yybawang/assh
本作品采用《CC 协议》,转载必须注明作者和本文链接
虽然这么说似乎有些「杞人忧天」,但我还是想强调使用这类自定义配置 + 密码登录服务器的方式,安全问题实在是不容忽视。
个人还是建议在 SSH 服务端配置公钥登录比较安全可靠,配合一些 terminal auto-complete 的插件也更方便。
然而国内的云服务商对于这方面的普及程度还远远不够,尤其是大家都在用 CentOS + 直接 Root 密码登录...
现已加入 sftp 直连命令,可以当为不时之需