ITerm2下使用ssh访问Linux

通常情况下,iTerm2访问远程Linux使用ssh,与Termial基本一样,方法如下:

ssh <用户名>@<ip>

然后输入访问的密码即可。当然还有的时候需要指定访问端口。

ssh -p <端口号> <用户名>@<ip地址>

如果在iTerm2下的操作与termial一样,我还用它干甚?

当然iTerm2有它特有的功能,这里使用它的是Profiles这个功能。

我们将远程访问的相关内容写成一个脚本,然后在Profile里调用即可。

$ cd /Users/changbingbing/nonobank/ssh/
$ touch filename

脚本内容如下:

  #!/usr/bin/expect -f
  set user <用户名>
  set host <ip地址>
  set 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 host <ip地址>
  set empath <密钥文件路径>
  set timeout -1
 
  spawn ssh -i $empath $user@$host
  interact
  expect eof
posted @ 2016-04-08 18:41  灰太郎^_^  阅读(3261)  评论(0编辑  收藏  举报