`
phpxiaoxin
  • 浏览: 252270 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

ssh key

阅读更多

本文要讲的,就是如何简化从Mac登录Linux主机的操作步骤,提高效率。所谓的“免登陆”其实是不存在的,只是说,从验证密码的登录方式,改为 公私钥对的登录验证方式。使用后者的方式,每次会由ssh客户端自动发送验证信息,所以就免去了人工输入密码,看起来好像“免登陆”一样。

关于这么做的原理,大家可以自己去Google,关键词是“非对称加密”,“RSA算法”,“基于ssh密钥对的自动登录”,等等,我就不多解释了。我直接说操作步骤吧:

  1. 生成密钥对
  2. 用密码登录远程主机,将公钥拷贝过去
  3. done

怎么样,无敌简单吧?

生成密钥对

执行命令 ssh -keygen -t rsa
执行结果如下:

charles@mac:~ > ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/charles/.ssh/id_rsa):
Created directory ‘/Users/charles/.ssh’.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/charles/.ssh/id_rsa.
Your public key has been saved in /Users/charles/.ssh/id_rsa.pub.
The key fingerprint is:
c8:4b:85:87:90:7c:1a:67:b6:71:f5:51:0c:9d:a2:89 charles@TCMBP.local
The key’s randomart image is:
+–[ RSA 2048]—-+
| … .. o=.. |
| +.*o. …+ |
| Bo+o. o.. |
| …+E o |
| + S |
| . . |
| . |
| |
| |
+—————–+

注意:提示enter passphrase的时候,不要输入,因为你本来就想少打一次密码的,这里如果设置了用密码保护私钥,那登录的时候还是要输密码,就白做了。

做完这个步骤后,cd ~/.ssh,你就可以看到你刚才生成的密钥对,id_rsa是私钥,id_rsa.pub是公钥。下一步,就是把公钥拷贝到目标主机上。

将公钥拷贝到目标主机

用ssh登录到目标主机,然后cd ~/.ssh目录,如果目录不存在,那么要自己创建mkdir -p ~/.ssh。你今后要用哪个帐户登录主机,就在哪个帐户的home目录下操作,如果要免登陆root,就要去/root下操作。使用~比较好,不用多想了。

有了.ssh目录后,进去,然后把id_rsa.pub传过去,可以用scp命令,这里要做的一个主要操作,就是将id_rsa.pub,的文件内 容,写到一个叫authorized_keys的文件中去,如果目标主机的相应用户名下已经有了.ssh目录和authorized_keys文件,那你 操作要小心一点,可能别人也做过免登陆的设置,这个时候你要小心不要把别人的设置给覆盖了。如果没有的话,就创建文件touch ~/.ssh/authorized_keys,然后执行cat id_rsa.pub >> authorized_keys,将你的公钥写入到authorized_keys中,公钥文件.pub里面只有一行信息,上面的命令相当于把那一行信息 追加到authorized_keys文件最后一行。

如果.ssh目录是你主机刚刚创建的,那么可能还需要改变一下这个目录的权限,将权限放低,chmod -R 0600 ~/.ssh,到此,所有设置就算做完了,你可以退出登录,在自己的主机上试一下了,现在再敲入ssh命令后,不用密码就可以登录主机了。

 

转自:http://sexywp.com/mac-os-x-ssh-key-pair-login-linux.htm

 

分享到:
评论

相关推荐

    git 同一托管平台 多个sshkey 配置小助手.exe

    解决的问题为 git 配置多个ssh key 我们配置好两个 sshkey 后 分别为两个 如果是 github.com gitlab.com gitee.com 这三个当然没有问题 开发此工具碰到的问题是 开发者碰到同一代码托管平台 来自多个账号的 sshkey ...

    sshkey-cn 华为、思科、W3C RSA转16进制

    "rsa ensp sshkey"标签中,“ensp”可能是指华为的网络仿真平台(ENSP,Enterprise Network Simulation Platform),这是一个用于模拟和测试华为网络设备的工具。在这个平台上,可能需要将RSA密钥转换为16进制,以...

    华为 h3c 3com ras转16进制工具 sshkey.exe

    本文将深入探讨RAS到16进制转换的工具——sshkey.exe,以及与RSA加密算法的相关性。 首先,我们需要理解RAS。RAS允许用户通过拨号或其他连接方式远程访问网络资源,如服务器或路由器。然而,这种服务如果没有妥善...

    C# ssh key 各种代码和文件说明

    在提供的压缩包文件"**C#SSHKEY各种代码项目工具文档说明**"中,应该包含了相关的示例代码、项目文件和使用说明文档。通过这些资源,你可以更深入地了解如何在C#中集成SSH Key功能,实现与远程服务器的安全交互。...

    putty\puttygen\sshkey

    PUTTY、PuTTYgen 和 SSH Key 是在 IT 领域中进行远程访问和安全通信的重要工具,尤其在Linux和Unix系统管理中广泛使用。这些工具主要与Secure Shell (SSH) 协议相关,用于加密网络连接,确保数据传输的安全性。 **...

    sshkey.exe

    华三路由器ssh加密文件转换器,使路由器可以使用.

    H3C sshkey.exe

    将生成的公有密钥转化为设备所需要的字符串

    linux ssh key

    Linux SSH Key 生成和使用 Linux SSH key 是一种常用的身份验证方式,通过生成公钥和私钥来实现无密码登录远程 Linux 主机。本文将详细介绍如何在 Linux 和 Windows 平台上生成和使用 SSH key。 一、Linux 平台上...

    PyPI 官网下载 | gitolite-sshkey-form-0.2.1.tar.gz

    《PyPI官网下载:深入理解gitolite-sshkey-form-0.2.1.tar.gz》 在Python的生态系统中,PyPI(Python Package Index)是最重要的资源库,它为开发者提供了一个平台来分享和下载各种Python库。本文将详细探讨PyPI上...

    生成ssh key并分发到其他机器上脚本

    总的来说,生成SSH key并分发到其他机器的脚本能够极大地简化系统管理员的工作,提高效率,同时增强安全性,避免每次连接都需要手动输入密码。通过这种方式,你可以轻松地管理和维护大量的远程服务器集群。

    Linux 自动更新sshkey秘钥 kown-host文件

    Linux 自动更新sshkey秘钥 kown-host文件

    设置ssh key登陆最佳实践

    使用密码远程登陆服务器容易被暴力破解,怎样提高安全性呢,建议使用ssh key登陆。

    Linux与OS_X系统下ssh命令行配置脚本_sshkey-manager.zip

    Linux与OS_X系统下ssh命令行配置脚本_sshkey-manager

    git中ssh key配置详解

    在Git版本控制系统中,SSH Key是一种安全机制,用于验证用户身份,使得你可以在不输入密码的情况下,安全地从远程仓库克隆、推送或拉取代码。本文将详细讲解如何配置Git的SSH Key,以实现无密码连接GitHub或其他支持...

    详解SSH如何配置key免密码登录

    #### 一、SSH Key 的基本概念与原理 SSH(Secure Shell)是一种网络协议,用于计算机之间的加密登录。通过SSH,可以在非安全的网络环境中提供安全的远程登录服务,其安全性主要依靠密钥对进行验证。 在SSH中,每个...

Global site tag (gtag.js) - Google Analytics