背景
尝试过用expect命令,secureCRT,发现还是很麻烦,不够便捷。于是尝试用ssh的命令,将公钥上传到服务器上,只要首次输入密码后,之后就不再需要了。
过程
安装ssh-copy-id
因为mac系统没有ssh-copy-id命令,所以先要安装该工具
在mac控制台执行命令
curl -L https://raw.githubusercontent.com/beautifulcode/ssh-copy-id-for-OSX/master/install.sh | sh
生成本机的密钥
执行命令, 一直回车就行
ssh-keygen -t rsa
这时会在当前用户的根目录下生成.ssh文件夹,也就是~/.ssh
,如果是首次执行会在.ssh文件中生成id_rsa
以及id_rsa.pub
文件。
非首次执行需要删除原known_hosts
文件(如果存在)
rm -rf ./ssh/known_hosts
将本地密钥copy到目标服务器中
如,我需要连接192.168.1.201的work帐户。
执行命令
ssh-copy-id -i ~/.ssh/id_rsa.pub work@192.168.1.201
首次连接需要输入密码。提示如下,表示成功了。
编写脚本,方便快捷登陆
可以当前目录下编写一个简单的脚本,脚本命令,可以参考我的。如下:
以201为例
vim ./201.sh
保存后,赋予执行权限
chmod u+x ./201.sh
最后验证
大功告吉!!