mac ssh登录linux服务器 的两种方式:
个人推荐第二种,zsh方式,只需要把公钥copy到目标服务器,设置别名就可以全用,方便快捷。
一、 使用item2的profiles 和expect脚本
配置步骤:
1. 写一个expect脚本
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
可以命名为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、 在本地机器创建公钥,一路回车即可
- 1
2、将公钥复制到ssh服务器
将上一步生成的id_rsa.pub公钥文件复制到目标服务器对应用户下的~/.ssh/authorized_keys 文件
可以手动复制,也可以利用ssh-copy-id工具复制,这里就说下手动复制,就一行内容,不值得装个工具了,需要的请自行百度谷歌。
如果服务器上没有authorized_keys 这个文件,直接创建即可,如果有,则把id_rsa.pub 这个文件里的内容copy 追加到后面即可。
3、 配置快捷登录
在自己的mac上的 ~/.ssh/config配置文件添加你的ssh服务器信息,若没有就新建,有就在后面追回,格式:
- 1
- 2
- 3
- 4
- 5
保存关闭,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