在测试过程中,经常需要和服务器打交道,这时候就需要一个比较好的ssh工具,来方便的进行工作。但是这些工具都会有或多或少的bug或编码问题,尤其在mac端比较突出。而由于mac终端自带ssh功能,也比较方便,因此可以利用mac终端来尝试配置一个比较方便的远程连接的窗口。
具体过程
1. 连接
由于Mac上自带ssh终端,所以可以直接通过ssh命令来连接到相应的服务器,具体的方式如下:
ssh username@ip
通过这种方式,即可来连接特定的服务器进行所需的操作。
2. 环境配置
由于每次进行连接时,都需要输入上一步骤所需的命令进行连接,虽然命令比较短,但是整体依然不是很不方便,于是可以把该命令配置到环境变量中,自定义自己的打开方式名称,我们可以用alias来自定义名称进行实现。
alias命令用来设置指令的别名。我们可以使用该命令可以将一些较长的命令进行简化。使用alias时,用户必须使用单引号''将原来的命令引起来,防止特殊字符导致错误。
主要配置方式:1.编辑用户的配置文件~/.bash_profile或系统配置/etc/profile2. alias 新的命令='原命令 -选项/参数' 例如 alias 10010 = 'ssh root@1.2.3.4'3. 保存退出4. source 配置文件
3. 用户名密码的输入
配置好环境之后,我们会发现,当进行连接时,还是需要重复进行认证,如下图所示,用户名密码还需要进行认证:
于是需要一个方案来跳过用户名密码的验证过程,在这里小编采用的是expect匹配的方式,主要的过程如下:
1. 安装expect工具 brew install expect2. 编写自己的启动脚本(示例) #!/usr/bin/expect set password $1 set answer $2
spawn ssh root@ip_address
expect "*yes*" send "$answer\n"
expect "*password:" send "$password\n"
interact //操作完成
4. 文件的上传和下载
登录之后,与其他ssh工具相比,还缺少上传和下载的功能,对比sz和rz,在mac端依然可以采用scp的方式来进行文件的上传和下载,灵活度也会更高一些,主要的上传和下载方式如下:
1. 下载: scp root@ip_address:/root/test.txt /Users/mac/Desktop就是将服务器上的/root/test.txt下载到本地的/Users/mac/Desktop目录下。注意两个地址之间有空格!2. 上传 scp -r test root@ip_address:/root/ 把当前目录下的test目录上传到服务器的/root/ 目录 注:目标服务器要开启写入权限。
实际使用
根据前面的步骤,小编在自己的电脑上配置好了自己的ssh工具,当然,前面几步只是基础,大家也可以根据自己的需要去扩充功能来方便使用,如下是小编的一些使用情况:
2. 选择其中一台登录:
结语
通过以上的几个步骤,就可以比较方便的配置好自己的ssh小工具,之后再也不用烦恼利用其它的工具那些隐藏的bug了,也免去了下载和破解的烦恼。大家也可以利用自己的脑洞,制作的更适合自己的习惯和日常。