Mac 通过脚本自动登录远程vps

有个vps机器,每次登录命令如下:

ssh -l root ip 或者 ssh root@ip

password:
输入密码,回车就登录了。

比较麻烦,每次都得现找ip和密码。所以可以考虑编写自动shell脚本自动执行。
要用到expect工具,所以
首先查看机器是否装有expect,mac默认就有,执行:

whereis expect

或者

which expect

得到结果通常是: /usr/bin/expect
故编写我们的自动登录脚本第一行:
注意!!!这里的脚本要用代码编辑器进行创建并编辑,尽量不要用文本编辑器和命令行编辑!!!否则可能会出现执行时乱码报错且很难找到原因!

#!/usr/bin/expect
##命令登录ssh 用户名@ip
spawn ssh root@xxx.xxx.xxx.xxx
##这里是执行上一步后希望出现的文字提示,通常是密码输入提示
expect "**password:"
##利用send命令,发送你的server密码并回车即可
send "yourpassword\r"

##最后加上允许交互的命令
interact

至此,运行这个sh文件就可以实现自动登录远程server了。

但是我们还可以更简单一些,通过快捷命令直接登录,需要用到就是alias。
在你的bash配置文件(我的bash是zsh,所以是~/.zshrc文件,可以执行

echo $SHELL

来查看你当前的bash工具
)中加入以下命令:

alias sshlogin='刚才自动登录sh文件路径'

然后source一下这个文件让修改生效即可。

source ~/.zshrc

这样在命令行,直接运行sshlogin就可以自动执行登录文件,十分方便。

如果你还想登陆之后,自动在远程主机上执行一些命令,比如自动进入某个目录什么的,你可以继续用send命令发送你想执行的指令。

如有错误,敬请指正~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容