版权声明:本文为CSDN博主「foochane」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u014754541/article/details/94338360


1 ssh-keygen命令

ssh-keygen命令说明:

  • -t :指定加密类型(如:rea,dsa)
  • -C : 指定注释,用于识别这个密钥

其他参数具体可以查看帮助

$ ssh-keygen help
Too many arguments.
usage: ssh-keygen [-q] [-b bits] [-t dsa | ecdsa | ed25519 | rsa][-N new_passphrase] [-C comment] [-f output_keyfile]ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile]ssh-keygen -i [-m key_format] [-f input_keyfile]ssh-keygen -e [-m key_format] [-f input_keyfile]ssh-keygen -y [-f input_keyfile]ssh-keygen -c [-P passphrase] [-C comment] [-f keyfile]ssh-keygen -l [-v] [-E fingerprint_hash] [-f input_keyfile]ssh-keygen -B [-f input_keyfile]ssh-keygen -F hostname [-f known_hosts_file] [-l]ssh-keygen -H [-f known_hosts_file]ssh-keygen -R hostname [-f known_hosts_file]ssh-keygen -r hostname [-f input_keyfile] [-g]ssh-keygen -G output_file [-v] [-b bits] [-M memory] [-S start_point]ssh-keygen -T output_file -f input_file [-v] [-a rounds] [-J num_lines][-j start_line] [-K checkpt] [-W generator]ssh-keygen -s ca_key -I certificate_identity [-h] [-U][-D pkcs11_provider] [-n principals] [-O option][-V validity_interval] [-z serial_number] file ...ssh-keygen -L [-f input_keyfile]ssh-keygen -Assh-keygen -k -f krl_file [-u] [-s ca_public] [-z version_number]file ...ssh-keygen -Q -f krl_file file ...

实际情况中也用不到那么多参数,指定加密类型和注释即可。
例如:

$ ssh-keygen -t rsa -C "myname@163.com"
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\fucheng/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in C:\Users\fucheng/.ssh/id_rsa.
Your public key has been saved in C:\Users\fucheng/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:9OlHGn5uIlELfGIYXdWectiEV5XS2quWpD1qpd2QJC8 myname@163.com
The key's randomart image is:
+---[RSA 2048]----+
|       . ....o..=|
|      . .   ..+o |
|       +.    *+. |
|      ..=.oooo=. |
|       .S=+.=o. .|
|        .o.E * . |
|         .+ @ =  |
|        . .B.B . |
|         ..++ .  |
+----[SHA256]-----+

一般情况下不需要输入密码,直接回车即可。

执行完ssh-keygen之后会在,用户目录下的.ssh文件下,生成一个id_rsa文件和id_rsa.pub文件。

  • id_rsa文件是私钥,要保存好,放在本地,私钥可以生产公钥,反之不行。
  • id_rsa.pub文件是公钥,可以用于发送到其他服务器,或者git上。

2 ssh设置无密码登录服务器

将之前在本地生成的公钥id_rsa.pub,发送到需要无密码登录的服务器,然后将id_rsa.pub的内容追加到服务器的~/.ssh/authorized_keys文件中即可。

如果没有.ssh目录,创建一个就好,或者执行ssh localhost登录本地,ssh会自动创建。

可以使用如下命令进行操作:

$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

另外如果想要无密码登录本地localhost,那么在本地执行上面的命令即可,执行之后再 ssh localhost 就不需要输入密码了。

3 设置ssh无密码访问git仓库

注意这里访问的主要是私有仓库。

github为例,找到个人主页,点击[settings],找到[SSH and GPG keys] ,新建SSH keys,将本地id_rsa.pub的内容复制到key里面,tittle可以随便填写,这样就配置好了。

找到要访问的仓库主页,点击Clone or Downloaduse Http换成use SSH,然后就会显示对应的仓库地址如:git@github.com:uername/xxxxx.git

使用该地址就可以在本地进行无密码访问仓库了。

4 xp自己补充

注意,将公钥id_rsa.pub放入的用户目录,这里的用户指的是需要免密登录的用户。例如我要使用root免密登录,那么这里的用户目录指的是/root; 如果是其他用户,其用户目录自然是/home/其他用户

scp传输时使用的是ssh协议,因此ssh免密登录的账户使用scp传输文件时也可免密。可参考远程登录与文件传输指令——ssh与scp。

ssh-key生成密钥及SSH无密码登录的配置(转载)相关推荐

  1. Git SSH Key 生成并添加到github/gitee步骤

    Git SSH Key 生成并添加到github/gitee步骤 在本地生成密钥 大家好,这里是坚果前端小课堂,欢迎大家关注我的公众号,"坚果前端" Git是分布式的代码管理工具, ...

  2. 如何在Github上配置ssh key的密钥

    Step0 : 解释说明 git使用SSH配置, 初始需要以下三个步骤 使用秘钥生成工具生成rsa秘钥和公钥 将rsa公钥添加到代码托管平台 将rsa秘钥添加到ssh-agent中,为ssh clie ...

  3. Git 中 SSH key 生成步骤

    由于本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以必须要让github仓库认证你SSH key,在此之前,必须要生成SSH key. 第1步:创建SSH Key.在windows下 ...

  4. ssh key生成_Stelnet(ssh)登陆华为交换机配置教程

    使用STelnet V1协议存在安全风险,建议使用STelnet V2登录设备. 1.生成本地密钥对 密钥保存在交换机中单不保存在配置文件中 [Huawei]rsa ? key-pair RSA ke ...

  5. Git SSH Key生成,配置到GitHub 并测试

    //本环境为os下 //首先是查看本机安装git版本 yangliu$ git --version git version 2.17.0 //git目录 yangliu$ which git /usr ...

  6. Git SSH Key 生成步骤

    Git是分布式的代码管理工具,远程的代码管理是基于SSH的,所以要使用远程的Git则需要SSH的配置. github的SSH配置如下: 一 . 设置Git的user name和email: $ git ...

  7. win7 linux ssh key,Windows下创建SSH Key并登录Linux服务器

    上一篇文章我给大家普及了在macOS下创建SSH Key并登录Linux服务器的操作,这篇文章带大家了解一下在Windows下创建SSH Key并登录Linux服务器的操作流程. 创建SSH Key ...

  8. linux服务器开启ssh权限,linux下开启SSH,允许root用户远程无密码登录

    本文的应用场景是:实现本地主机(127.0.0.1即客户机)通过 SSH root@{ip地址} 可以直接登录远程主机. 一.SSH原理 1.SSH公钥认证的基本原理: SSH 是一个专为远程登录会话 ...

  9. git ssh key生成

    重装系统后,需要重新安装git,ssh key便是遇到的其中一个问题,具体解决办法如下: 1.安装好git客户端后,查看本地是否有.ssh文件,命令如下: mkdir ~/.ssh 2.如果没有该文件 ...

  10. 【Git】SSH Key 生成

    GIT 是分布式的代码管理工具,远程的代码管理基于 SSH,因此当远程使用GIT 时需要配置 SSH,但是我经常会忘记哈哈

最新文章

  1. 最长递增子序列的两种解法
  2. 皮一皮:中国好邻居!
  3. MySQL-InnoDB究竟如何巧妙实现,4种事务的隔离级别
  4. nodejs后台启动
  5. define、const、typedef区别
  6. python 调用函数 开销_Python函数调用非常慢
  7. curPos和tgtPos
  8. MongoDB查询时排序字段为int类型和string类型的区别
  9. 深入浅出ObjC之消息 (转)
  10. ASP.NET中使用多个runat=server form(转)
  11. ArcFace免费人脸识别 Demo [Android]
  12. Gradle 插件Debug调试
  13. html行为样式动作是啥,什么是结构、样式、行为分离?
  14. 11(3)-AirSim+四旋翼仿真-AirSim中人工势场法方法改进
  15. 模拟电子技术基础概念
  16. 条码打印二 - 1.ZebraDesigner软件生成ZPL指令
  17. 具体时间转换cron表达式
  18. 股票python量化交易002-常见量化指标(技术面)
  19. 老总让做后台接口监控,我却开发了一个App
  20. 关于使用CE(cheat engine)的扫雷详细逆向复现报告

热门文章

  1. JPress v2.0-rc.6 发布,新增 Java 插件的在线升级功能
  2. 书评-YDKJSthis与对象原型
  3. linux每日命令(20):find命令概览
  4. 如何应对团购鼻祖Groupon的“***”
  5. [导入]js 关联数组 详解
  6. 2.Linux/Unix 系统编程手册(上) -- 基本概念
  7. 4. Linux 高性能服务器编程 --- TCP/IP 通信
  8. 6.卷1(套接字联网API)---I/O复用 : select 和 poll 函数
  9. 2.卷1(套接字联网API)---传输层:TCP,UDP 和 SCTP
  10. 6. 卷2(进程间通信)---System V 消息队列