场景:
有时候经常需要登录到另外一台Mac或者是服务器,来查看一下jenkins构建输出或者是日志什么的,Mac上的有诸如SSH Tunnel等SSH登录管理工具,但是一切都在Command Line环境下会减少切换成本,所以介绍一下比较快捷安全的免密码登录。
准备:
- 客户端Mac生成公钥和私钥
- 目标机为客户端Mac开放的用户名
- Command Line
在macOS Sierra上使用成功
步骤:
1.使用SSH创建公钥和私钥:
Mac自带SSH,所以你需要进入.ssh文件
-> cd ~
-> cd .ssh
-> ls -al //查看一下所有文件,是否带有rsa的文件,如果有就不用生成了。
-> $ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
# Creates a new ssh key, using the provided email as a label
# Generating public/private rsa key pair.
-> Enter file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter] // 推荐使用默认地址,如果使用非默认地址可能需要配置 .ssh/config
-> ls -al
如图:
-> cat id_rsa.pub
2.分发公钥给目标机:
需要将上一步的公钥添加到目标机器上的authorized_keys文件中。
在目标机的.ssh文件夹中创建authorized_keys文件
-> touch authorized_keys
-> chmod u+w authorized_keys //如果目标主机上没有,则你需要在创建
-> nano authorized_keys
//将复制的公钥粘贴进去
3.测试:
接下来你直接就可以:
-> ssh root@xxx.xxx.xxx.xxx
tips:
你可以在 .bash_profile 或者你装了zsh可以在 .zshrc 文件里alias 短命令。如下:
alias landTarget='ssh root@xxx.xxx.xxx.xxx’
重新启动shell或者是:
-> source ~/.bash_profile
然后你就可以:
-> landTarget
注意:
如果目标机器是Mac不要忘记打开远程登录
Enjoy it~