Mac使用SSH 免密登陆(踩坑)

这篇具有很好参考价值的文章主要介绍了Mac使用SSH 免密登陆(踩坑)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

今天使用mac进行ssh免密登陆,期间遇到了一些问题,mac和windows的操作步骤有点不一样。踩了个坑~!


一、SSH登陆是什么?

ssh 登录分两种,一种是基于口令(账号密码),另外一种是基于密钥的方式。
基于口令,就是每次登录输入账号和密码,显然这样做是比较麻烦的,这里是介绍如何基于密钥实现免密登录。

二、使用步骤

1.使用ssh-keygen生产密钥对

最好是到ssh的目录下去操作,这样会在ssh的目录下生成密钥对:

代码如下(示例):

cd ~/.ssh
ssh-keygen -t rsa -f cvm   
# -t 是要使用的算法
# -f 要生成的文件名
# 输入命令后两次直接回车

Mac使用SSH 免密登陆(踩坑)
执行完之后,会在目录~/.ssh下生成对应的密钥对,图中圈起来的就是生成的密钥对,还有就是其它的密钥对(github,gitee,gitlab)可以忽略
Mac使用SSH 免密登陆(踩坑)

2.将公钥追加到要免密登陆的服务器中

使用 ssh-copy-id 命令将上一步生成的公钥(.pub结尾)上传到服务器中,期间需要输入一次服务器的密码,因为我之前弄了免密,所以这里不需要输入。

代码如下(示例):

ssh-copy-id -i cvm.pub root@ip
# -i 指定要添加的公钥的文件名 
# root  免密登陆的用户名
# ip	服务器的ip

Mac使用SSH 免密登陆(踩坑)
ssh-copy-id 会将指定的文件内容追加到服务器 ~/.ssh/authorized_keys 文件中,可以去服务上查看看看,我这里之前加了一个,所以有两个。
Mac使用SSH 免密登陆(踩坑)

2.ssh-add(踩坑的点)

网上的教程执行完第一步就可以免密登陆了,但是我的mac一直都不行,重试好几次也不行,最后搜索关键词 mac ssh 免密登陆 才解决的。 我一度怀疑是mac的问题,但是看其他人有的mac又不需要加这一步。 无语了~
将第一步生产的密钥(cvm)加入到ssh高速缓存中:

ssh-add -K cvm

ssh-add命令是把专用密钥添加到ssh-agent的高速缓存中,从而提高ssh的认证速度。
执行完这两部,就可以进行免密登陆了

ssh root@ip

Mac使用SSH 免密登陆(踩坑)

3.客户端给服务器设置别名

有时候服务器的ip太难记了又或者服务器太对了记不住,这时候就可以给各个免密的服务器设置一个别名,之后直接 ssh 别名 就可以实现登陆服务器,简直不要太爽了~

回到mac的~/.ssh目录,我这里有个config文件,没有的话可以手动创建,就是在这个配置文件里面设置别名的:

Host cvm
HostName ip
User root
IdentityFile ~/.ssh/cvm


# Host	别名的名称
# HostName	服务的ip
# User	用户,这里是root
# IdentityFile  密钥的路径
# 这里还有一个Port属性 是端口,默认是22,这里没写

config里面是可以设置多个别名的,我这里有github等其他的也在这里设置了:
Mac使用SSH 免密登陆(踩坑)
之后就可以直接使用 ssh cvm 免费登陆了,非常的方便!
Mac使用SSH 免密登陆(踩坑)

4.拓展

SSH进行认证的过程中除了对用户目录有权限要求外,对服务器上的 .ssh 文件夹和 authorized_keys 文件同样也要限制,如果日志中提示这两个的问题,可以通过如下方式进行修改:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

总结

程序员遇到问题在所难免,多总结多记录就好了。文章来源地址https://www.toymoban.com/news/detail-441601.html

到了这里,关于Mac使用SSH 免密登陆(踩坑)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 作业:通过两台linux主机配置ssh实现互相免密登陆

    做题步骤 : 一.开启两个Linux主机,并且用ssh连接,要能够ping通 我这里是server:192.168.81.129 client:192.168.81.130 举例 操作如下: 二.在客户端上创建一对密钥 1. 注意:可以看到这对密钥是放在/root/.ssh/id_rsa.pub文件下的,公钥的名字是id_rsa.pub 2.查看一下密钥对 [root@client ~]# ll

    2024年01月17日
    浏览(31)
  • 解决Linux root用户设置ssh免密登陆后仍然需要输入密码的问题

    搭建hadoop集群后,设置ssh免密登录发现还是一直需要输入密码,简直是烦死了,很明显就是ssh免密登录没有设置好. 出现该问题有很多原因,比如ssh配置不对或者路径权限不对等等 配置方法见 : SSH设置无密码连接 解决方法如下: 重新添加 公钥 更改 ssh 配置文件 更改对应的文件夹和

    2024年02月12日
    浏览(51)
  • Python武器库开发-武器库篇之Git创建远程仓库和建立SSH key 免密登陆(三十七)

    Git是一种版本控制系统,用于跟踪文件的更改和协调多人开发项目。它可以记录文件的历史更改,协助多人协作开发,并提供分支管理功能。Git是一个分布式系统,意味着每个人在自己的本地计算机上都有一份完整的代码仓库,并且可以独立地进行工作。它具有速度快、灵活

    2024年02月02日
    浏览(37)
  • 完成Centos上使用SSH公钥进行免密上传文件到gitee的步骤后,测试免密推送到gitee的时候还是需要输入邮箱和密码

    如果你已经按照正确的步骤设置了SSH公钥并进行了免密测试,但仍然需要输入邮箱地址和密码才能推送到gitee,那么可能有以下几种原因: 您可能没有使用SSH URL来推送代码。请确保您使用的是SSH URL而不是HTTPS URL来推送代码。您可以使用命令 git remote -v 来查看当前仓库的远程

    2024年02月09日
    浏览(25)
  • mac vscode远程ssh免密登录

    参考:http://www.pingtaimeng.com/article/detail/id/1922463 mac、vscode免密码登录远程服务器SSH 主要通过ssh设置 步骤如下 mac本地电脑,```ssh-keygen -t rsa`` 获取密匙 登录远程server服务器,将 本地mac密匙的 id_rsa.pub 写入到 server服务器的.ssh 文件夹的 authorized_keys 文件中,保存接口 cd / cd ~/.ssh

    2023年04月16日
    浏览(33)
  • mac ssh远程登录服务器免密设置

    1) 进入私钥存放地址 在mac上打开终端。一般私钥存放在.ssh目录里,所以cd到~/.ssh目录。可以先ls查看一下是否存在私钥和公钥文件。拥有.pub结尾的文件是公钥文件,无.pub的是私钥文件。 2) 生成公私钥对 若没有现存的公钥和私钥文件则需要创建一个,代码如下: 到这里就

    2024年03月26日
    浏览(42)
  • 树莓派ubuntu:vscode remote-ssh免密登录(Mac)

    Vscode remove-ssh远程开发很方便,但是每次登陆都会频繁要求输入密码,使用期间也会多次断开重连,提示再次输入密码。 可能因为我开发板的ubuntu系统用的后来创建的用户的原因,按网上的文章始终无法实现免密登录,多次尝试后如下方式解决,整理如下: 1. 本地生成key 生

    2024年01月21日
    浏览(62)
  • mac下用git客户端生成ssh秘钥并配置到souretree进行使用

    一、使用git 生成 ssh 密钥 1、Mac 安装 git 客户端 打开终端,执行命令: 2、执行命令 3、检查是不是已经存在密钥 4、能进去说明已经存在,就删掉文件夹,重新创建 5、生成 SSH 密钥,执行以下命令,并连续 3次 Enter 键即可。 会在.ssh目录下生成 id_rsa 、 id_rsa.pub 两个文件私钥

    2024年02月16日
    浏览(55)
  • Mac ssh登陆服务器: no matching host key type found. Their offer: ssh-rsa问题处理

    Mac 上iterm2 脚本连接堡垒机报错 nbsp;openssh觉得ssh-rsa加密方式不安全, 直接从8.8开始默认不允许这种密钥用于登陆了 方案1: 临时性方案(命令行增加参数 -oHostKeyAlgorithms=+ssh-rsa) 连接成功 方案2:持久化方案(配置文件持久化) 输入sudo nano ~/.ssh/config,然后在出现提示时,输入您

    2024年02月12日
    浏览(38)
  • 简单使用!使用shell脚本实现ssh免密登录

    目录 1.expect命令:可以在外输入,某些命令执行后弹出的输入提示 2.使用expect命令来创建本地的公钥文件 3.复制ssh的公钥文件到各个主机上: 4.完整的shell脚本:

    2024年02月14日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包