赞
踩
如果需要远程管理几个ssh服务器,输入不输入密码都无所谓,甚至都能背下来密码。当你要管理的ssh 多达几十个时,就不想输入密码啦。这里只是记录本人的使用习惯,不一定是最佳解决方案。
这类的软件有很多,我使过很多款,下面两款值得推荐。
windows下推荐使用
下载地址:
https://www.netsarang.com/zh/free-for-home-school/
推荐理由:
不足之处:
在xshell中使用vim体验不太好,首先鼠标不支持,不知道是否有相关设置,没有深入研究过。
https://termius.com/
推荐理由:
不足之处:
因为个人比较喜欢iTerm中的一些特性,所以更倾向于使用iTerm来ssh。一开始我就是直接敲命令输入密码的,后来发现使用密钥免密码登录非常方便,就基本都使用密钥这种方式连接ssh 了。
使用方法:
《Mac使用ssh连接远程服务器免密码登录》
https://blog.csdn.net/lxyoucan/article/details/112527301
此教程也适应与Linux,几乎一样的。
大部分服务器都可以使用密钥免密码登录,我在工作中遇到过一种通过堡垒机连接ssh的方式,并不支持密钥登录。
有些有堡垒机的服务器,无法上传密钥,怎么实现免密登录呢?
expect就是用来做交互用的,基本任何交互登录的场合都能使用,但是需要安装expect包。
做如下操作,
创建一个脚本
vim autossh.sh
增加如下内容:
#!/usr/bin/expect # 解决vim行错乱 trap { set rows [stty rows] set cols [stty columns] stty rows $rows columns $cols < $spawn_out(slave,name) } WINCH # 设定超时时间为30s set timeout 30 # spawn是 expect语句,执行命令前要加spawn # 运行ssh ip或者域名地址 准备连接服务器 spawn ssh sshserver # 交互获取返回了Password:关键字 expect "Password:" # 发送mima 到控制台,注意\r不是密码的一部分 send "mima\r" # 执行完留在远程控制台,不加这句执行完后返回本地控制台 interact
增加执行权限
chmod +x autossh.sh
运行脚本:
./autossh.sh
expect跟bash类似,所以首先要有#!/usr/bin/expect
,运行脚本时要使用expect file
不能是sh file
了。
Mac下默认是:#!/usr/bin/expect
,Linux下可能是#!/bin/expect
主要看你的安装位置了。可以使用which expect
查询一下。
这样就可以不输入密码直接登录了。
如果觉得每次运行这个脚本麻烦,就加个好记的别名,放到环境变量里就行了。
vim ~/.zshrc
加入下面一行
alias sa='/Users/username/.ssh/a.sh'
使环境变量立即生效。
source ~/.zshrc
这样就可以使用sa
这个简单命令来免密码登录你的ssh远程服务器了。
https://blog.csdn.net/zhangjikuan/article/details/51105166
https://www.jianshu.com/p/731a2c0f1c4c
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。