通常情况下,iTerm2访问远程Linux使用ssh,与Termial基本一样,方法如下:
ssh <用户名> @用户名>
然后输入访问的密码即可。当然还有的时候需要指定访问端口。
ssh -p <端口号> <用户名> @用户名> 端口号>
如果在iTerm2下的操作与termial一样,我还用它干甚?
当然iTerm2有它特有的功能,这里使用它的是Profiles这个功能。
我们将远程访问的相关内容写成一个脚本,然后在Profile里调用即可。
$ cd /Users/changbingbing/nonobank/ssh/$ touch filename
脚本内容如下:
#!/usr/bin/expect -f set user <用户名> set hostset password <密码> set timeout -1 spawn ssh $user@$host expect "*assword:*" send "$password\r" interact expect eof 密码> 用户名>
接下来,就是如何调用这个脚本了.
使用命令:
expect <保存的脚本完整路径>保存的脚本完整路径>
保存即可。
接下来就是如何使用了。使用方法也很简单,打开iTerm2后,选择菜单Profiles下自定的profiles即可。
符:通过SSH和密钥文件(.pem格式)登录服务器[可能是堡垒机]
首先修改下密钥文件权限:
sudo chmod 600 /Users/changbingbing/Downloads/changbingbing.pem
其次,终端可直接命令连接:
ssh -i /Users/changbingbing/Downloads/changbingbing.pem changbingbing@X.X.X.X
注:首次连接时,会弹出密钥文件密码输入框,可以输入并保存!
除了直接命令连接外,也可参考上面Profiles功能,配置好,直接在Profile里调用!简单脚本如下:
#!/usr/bin/expect -f set user <用户名> set hostset empath <密钥文件路径> set timeout -1 spawn ssh -i $empath $user@$host interact expect eof 密钥文件路径> 用户名>