Mac免密登陆Linux服务器

背景

尝试过用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 [email protected]

首次连接需要输入密码。提示如下,表示成功了。
Mac免密登陆Linux服务器_第1张图片

编写脚本,方便快捷登陆

可以当前目录下编写一个简单的脚本,脚本命令,可以参考我的。如下:
Mac免密登陆Linux服务器_第2张图片
以201为例

vim ./201.sh

Mac免密登陆Linux服务器_第3张图片
保存后,赋予执行权限

chmod u+x ./201.sh

最后验证
在这里插入图片描述
大功告吉!!

你可能感兴趣的:(工具)