Mac Item2 SSH免密登录Linux 服务器的两种方式

来源:互联网 发布:opencv 分水岭算法 编辑:程序博客网 时间:2024/06/05 11:55

mac ssh登录linux服务器 的两种方式:
个人推荐第二种,zsh方式,只需要把公钥copy到目标服务器,设置别名就可以全用,方便快捷。
一、 使用item2的profiles 和expect脚本
配置步骤:
1. 写一个expect脚本

#!/usr/bin/expect  set timeout 30  spawn ssh [lindex $argv 0]@[lindex $argv 1]  expect {          "(yes/no)?"          {send "yes\n";exp_continue}          "password:"          {send "[lindex $argv 2]\n"}  }  interact 

可以命名为login.exp
可以看出些脚本需要三个参数:服务器用户名,服务器地址 ,密码
即你直接用ssh命令登录时的 ssh 用户名@服务器地址 -P密码
2. 把这个脚本放到$PATH 下,一般像/usr/local/bin/, /usr/bin下等,建议放/usr/local/bin,你也可以echo $PATH看一下.
注意:新的Mac os 可能对这些目录限制比较严格,有可能需要sudo 才能成功
最后用chmod 让文件变成可执行文件
3. 打开item2用command+o的方式呼出profiles,点击右下角的Edit Profiles
4.配置profile,如下图:
这里写图片描述
(图片来自网络,侵删)
如上图配好后,command+o 打开的profile列表里双击即可完成登录。

二、 利用公钥认证登录

1、 在本地机器创建公钥,一路回车即可

ssh-keygen -t rsa

2、将公钥复制到ssh服务器
将上一步生成的id_rsa.pub公钥文件复制到目标服务器对应用户下的~/.ssh/authorized_keys 文件
可以手动复制,也可以利用ssh-copy-id工具复制,这里就说下手动复制,就一行内容,不值得装个工具了,需要的请自行百度谷歌。

如果服务器上没有authorized_keys 这个文件,直接创建即可,如果有,则把id_rsa.pub 这个文件里的内容copy 追加到后面即可。

3、 配置快捷登录
在自己的mac上的 ~/.ssh/config配置文件添加你的ssh服务器信息,若没有就新建,有就在后面追回,格式:

Host            alias #自定义别名HostName        hostname  #替换为你的ssh服务器ip或domainPort            port #ssh服务器端口,默认为22User            user #ssh服务器用户名IdentityFile    ~/.ssh/id_rsa #第一个步骤生成的公钥文件对应的私钥文件

保存关闭,ssh alias 就可以登录你要登的服务器了

如果你本地终端使用的是zsh,那就更太简单了,直接给zsh添加一条别名
echo “alias ssh-to-username=’ssh username@hostname’” >> ~/.zshrc #将username和hostname替换为你的服务器信息
source ~/.zshrc #重新加载更改后的zshrc文件
ssh-to-username #使用别名,一条命令即可登录你的ssh服务器

参考:
http://blog.csdn.net/ofengyajie/article/details/17840751
http://www.linuxidc.com/Linux/2015-12/126649.htm

0 0