您的位置:首页 > 运维架构 > Linux

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

2016-10-15 16:50 387 查看
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或domain
Port            port #ssh服务器端口,默认为22
User            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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: