登录 用户中心() [退出] 后台管理 注册
   
您的位置: 首页 >> NEWBT独播软件超市 >> 主题: [mac/linux/freebsd/shell]苹果或者 linux 系统下可保存密码的 putty 的代替品     [回主站]     [分站链接]
标题
[mac/linux/freebsd/shell]苹果或者 linux 系统下可保存密码的 putty 的代替品
clq
浏览(403) + 2021-04-18 00:38:43 发表 编辑

关键字:

[2021-04-18 01:11:25 最后更新]
[mac/linux/freebsd/shell]苹果或者 linux 系统下可保存密码的 putty 的代替品

其实这个说法有点拗口,因为本身 putty 就是 ssh 在 windows 下的 ssh 的代替品。
但在 windows 下用惯了 putty 会很不适应纯命令行的 ssh 。对于我来说 putty 有两个不可代替的作用:
1.保存密码(虽然很多人说不安全,但是真的很方便,特别是当你项目很多很多而不是只管理自己公司的网站时);
2.在本地机器上直接访问远程 mysql、pgsql 数据库。
同样这也被认为是不安全的,我使用的理由同样同上。其实我自己的项目中是不使用数据库了的,但我工作的地方会需要管理很多客户的数据库。
这时候除了把它们映射成本地数据库没有什么选择,当然一般的做法是在本地做一个备份,让两者同步(其实据我所知一般只做到了表结构同步)。
要实现第二点其实并不像大家想的那么难,其实只要将访问本地 3306 端口的请求转发到服务器本地的 3306 就可以了。而刚好 ssh 可以做到这一点。(给小白们解释一下:这是因为正式的服务器都不可能开发公网访问的 3306 端口这样的)。
网上有很多教程会教怎么做到,但是每次都要输入密码还是很麻烦。现在虽然有什么不用密码用 key 访问 ssh 的,我其实觉得更麻烦。


所以综合了好几种教程,写了一个 shell 脚本来完成。理论上可以用于 mac/linux/freebsd 等使用 bash 的系统,其他 shell 的应该也可以改下能用。
将以下内容存为一个 .sh 文件,然后用 chmod 777 给它加上可执行权限即可。当然其中的用户名和密码要改成您自己的。

----------------------------------------------------------------
将其中的 root myhost.com mypass 修改为自己的就可以用来映射远程 mysql 数据为本地数据库了。
之所以要提供这个看着简单的脚本是因为网上的教程试了好久,不一定能用。我的环境是 mac os 10.14 bash 终端。
----------------------------------------------------------------
#!/usr/bin/expect -f
#auto ssh login
set timeout 30
# 如果只是想自动登录 ssh 的话,用这个就可以了
#spawn ssh root@myhost.com
# 参考 https://www.cnblogs.com/dwtfukgv/articles/12837356.html
spawn ssh -L 3306:127.0.0.1:3306 root@myhost.com -N
expect "password:"
send "mypass\r"
interact

----------------------------------------------------------------








总数:0 页次:1/0 首页 尾页  
总数:0 页次:1/0 首页 尾页  


所在合集/目录
putty 更多
macos苹果软件 更多



发表评论:
文本/html模式切换 插入图片 文本/html模式切换


附件:



NEWBT官方QQ群1: 276678893
可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
验证问题说明申请入群原因即可.

Copyright © 2005-2020 clq, All Rights Reserved
版权所有
桂ICP备15002303号-1