Mac 下 SSH 免密码登录
8

服务器公钥配置

本地进入~/.ssh/ 目录,找到id_rsa.pub,输入命令:cat id_rsa.pub,复制输出公钥内容。
可以通过:

ssh -p 端口号 username@xxx.xxx.xxx.xxx

说明:端口号非必填项,如果服务器是默认链接端口,就可以不填。

输入密码后,即可进入服务器,然后

cd ~/.ssh

进入~/.ssh目录,输入:

cat 刚才复制的内容粘贴在这里 >> authorized_keys2

赋予这个新建的authorized_keys2一定的读写权限:

chmod 600 authorized_keys2

配置好后,输入exit退出服务器,接着在本地配置下面内容。

ssh本机配置(单服务器)

vim ~/.ssh/config

Host 根据自己的喜好填写主机名(爱填啥填啥,好记就行,因为这个是我们后面登录需要用到的。)
HostName xxx.xxx.xxx.xxx(即服务器IP地址)
User username
Port 实际端口号

在本地终端输入ssh 主机名 即可马上登陆远程服务器。

多服务器登录配置

有些同学在看完上面单机版配置后,心里肯定想,我如果再配置一台是不是就需要在本地新建一个config2文件呢。
其实不然,只需要在配置多台服务器时,在config文件中进行追加服务器登录信息即可。

以下是我本地~/.ssh/config 配置多台服务器最终结果:

Host hostName1(暂时叫它 1号服务器)
HostName xxx.xxx.xxx.xxx
User username
Port 端口号

Host hostName2(暂时叫它 2号服务器)
HostName xxx.xxx.xxx.xxx
User root

保存后,输出 ssh hostName1直接登录1号服务器
同样,可以在命令行输出ssh hostName2 直接登录2号服务器
不配置config的结果就是每次都需要输入一大串内容和复杂的密码进行登录,非常耗费时间。
如同本文开篇输入的:

ssh -p 端口号 username@xxx.xxx.xxx.xxx (回车,接着长长的难记的密码,通常是复制过来,但是找文件,打开,复制都是时间啊,如果你要在多台服务器之间来回折腾,这个时间省下来不就可以去泡妹子,或者陪媳妇了嘛!)

努力是不会骗人的!

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 7

消灭0回复,0评论

1年前
Nick

Mac 可以利用 ssh-copy-id 这个小工具将公钥上传到服务器

1年前
Nick

补充建议:上传公钥到服务器之后修改 ssh 服务的 sshd_config 配置文件

RSAAuthentication yes 开启RSA验证

PubkeyAuthentication yes 是否使用公钥验证

PasswordAuthentication no 禁止使用密码验证登录

PermitRootLogin no 禁止root用户登录

1年前

多服务器要生成不同的id_rsa.pub文件吧

1年前

我也按照楼主这样配置了,但是遇到了一个大坑,就是centos配置ssh免密码登录后,仍提示输入密码。最后我查了好久才解决,分享给大家我的解决方案。[http://www.cf2z.club/blog/Centos-configure-SSH-password-after-logging-in,free-is-prompted-for-a-password]

1年前

@mingyun 不需要,这个文件是本地生成的,生成一次就可以了,然后部署到多个服务器上。就相当于你有同一把钥匙,可以开启多扇大门。

1年前

  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!