ssh-keygen用来生成ssh公钥认证所需的公钥和私钥文件。

ssh秘钥登录特点:1.安全;2.免输密码。
对于安全级别较高的服务器,建议配好ssh登录后禁掉密码登录。
缺点:略繁琐。如果你的只是临时登录一次,那么还是密码吧。

一、生成秘钥

秘钥对需要在你自己的机器上生成,然后把公钥放到服务器相应用户的~/.ssh目录

执行下面命令,默认生成位置是~/.ssh

ssh-keygen

系统会询问你文件名和秘钥密码,可以一路回车过去,会生成两个文件:

  • id_rsa 私钥
  • id_rsa.pub 公钥

默认使用rsa算法,你也可以用比较详细的指令,如

ssh-keygen -t rsa -b 1024 -f yourkeyname -C "备注"
参数 解释
-b 采用长度1024bit的密钥对,b=bits,最长4096,不过没啥必要
-t rsa 采用rsa加密方式,t=type
-f 生成文件名,f=output_keyfiles
-C 备注,C=comment

更多参数可运行 man ssh-keygen

二、在服务器上安装秘钥

把上一步生成的公钥发送到服务器(scp,FillZilla等)上,然后在服务器上执行下面命令

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

如此便完成了公钥安装,有个小坑值得一提:authenrized_keys的权限必须是600或更小,否则会连接失败。
保险起见,执行下面命令

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

另外,.ssh目录的owner必须是ssh登录用户,不能是root

服务器ssh配置

修改服务器上的ssh配置文件,位置:/etc/ssh/sshd_config

RSAAuthentication yes
PubkeyAuthentication yesPermitRootLogin no //禁止root登录
PasswordAuthentication yes //允许密码登录,根据你的情况设置

然后重启ssh服务

service sshd restart

三、连接服务器

方法1: 直接ssh

ssh -i ~/.ssh/id_rsa -p 22 user@yourservername

方法2(推荐):修改~/.ssh/config

Host server_alias(你的服务器别名)
HostName test.com/192.168.1.1(域名或IP)
Port 22
User user
IdentityFile id_rsa

保存后,登录时只需执行

ssh server_alias

多个服务器另起一行续写就行了,就是这么简单!

SSH-keygen linux教程相关推荐

  1. FinalShell使用教程:SSH链接Linux服务器

    FinalShell使用教程:SSH链接Linux服务器 一.下载地址 二.安装方法 三.SSH链接Linux服务器 最近捣鼓一点小玩意用到了服务器,发现国产FinalShell工具,使用起来还是比较 ...

  2. VScode使用SSH连接Linux(Ubuntu)系统程序开发,详细教程

    VScode使用SSH连接Linux(Ubuntu)系统程序开发,详细教程 VScode使用SSH连接Linux(Ubuntu)系统程序开发 1.安装SSH 2.SSH连接远程服务器 3.远程编程开发 ...

  3. Linux基础——怎么样从 MacOS 或 Linux 通过 SSH 远程 Linux

    文章目录 1.前言 2.给 Linux 安装 OpenSSH 3.Mac 或 Linux SSH 去 Linux 1.前言 使用 ssh 远程操作 Linux 我觉得是我用得最多的一种形式了. 我有一 ...

  4. Linux教程(第5版) 孟庆尝 牛欣源 张志华 -课后习题答案

    文章目录 前言 Linux教程(第5版) 孟庆尝 牛欣源 张志华 思考题1 思考题2 思考题3 思考题4 思考题5 思考题6 思考题7 思考题8 dd if=/dev/hda of=/root/mbr ...

  5. linux教程ppt,Linux教程.ppt

    <Linux教程.ppt>由会员分享,可在线阅读,更多相关<Linux教程.ppt(17页珍藏版)>请在人人文库网上搜索. 1.Linux教程,1.Linux基本操作命令 2. ...

  6. Linux教程学习笔记

    Linux教程学习笔记 目录 Linux教程学习笔记 写在前面 虚拟机 Linux目录结构 远程登录Linux系统 vi和vim编辑器 关机.重启和用户登录注销 用户管理 实用指令 组管理和权限管理 ...

  7. 使用vs code连接linux教程,使用xshell连接linux教程

    使用Xshell连接linux教程 默认大家已经安装好了linux虚拟机 首先在连接xshell之前,我们要在linux安装一个ssh服务端open-server 因为ubuntu安装后默认只有ssh ...

  8. linux安装ppt教程视频教程下载,Linux教程ch2Linux安装及入门.ppt

    Linux教程ch2Linux安装及入门.ppt (68页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 29.9 积分 第二章 Linux安装及入门 Li ...

  9. Linux教程(小白也能学会的教程)

    Linux教程 1.Linux简介 1-1Linux的发行版 1-2Linux应用领域 2.Linux安装 3.Linux系统启动过程 3-1 内核引导 3-2运行init 3-3运行级别 3-4系统 ...

  10. 【组队学习】【26期】Linux教程

    Linux教程 论坛版块: http://datawhale.club/c/team-learning/27-category/27 开源内容: https://github.com/datawhal ...

最新文章

  1. python中的match和search的区别
  2. UILabel-UITextField-UIBottonamp;nbsp;UI_…
  3. AGI:走向通用人工智能的【哲学】之现实世界的虚拟与真实——带你回看1998年的经典影片《The Truman Show》感悟“什么是真实”
  4. python 常用内置函数_python常用内置函数使用|python基础教程|python入门|python教程...
  5. openstack架构及组件特点
  6. 『TensorFlow』SSD源码学习_其二:基于VGG的SSD网络前向架构
  7. 用python快速合并代码(方便软著申请)
  8. struts集成spring官方例子
  9. 软考中高项学员:2016年3月26日作业
  10. Linux中vi、vim命令大全
  11. 关于 XcodeGhost , 如何进行保护APP安全性
  12. excel中如何锁定单元格
  13. c语言字符串把小写转换大写字母,c语言将字符串中的小写字母转换成大写字母...
  14. 在线html5行情,Html5版本的全套股票行情图 html54stock
  15. java分享微博_java_java实现的新浪微博分享代码实例,weibo.java {@link IWeiboShareAPI#handle - phpStudy...
  16. 大数据BI可视化基础
  17. ubuntu 16.04下载网易云音乐 在处理时有错误发生:netease-cloud-music解决
  18. NFS服务常见故障排查和解决方法
  19. 我是漂移王-说明介绍
  20. 21世纪以来14起最大的数据泄露事件

热门文章

  1. 如何在谷歌地图上标注宾馆饭店矢量点并叠加导出为图片
  2. Nginx nginx.conf配置文件详解
  3. 【MATLAB笔记】对矩阵进行满秩分解
  4. Python入门基础篇 No.26 —— 列表_复制列表_排序_revered逆序_max_min_sum
  5. Python正向和反向迭代器介绍
  6. Descending Order 实践练习
  7. 【问题】 form action=${pageContext.request.contextPath}/login.action
  8. 点亮显示屏的几个重要步骤
  9. html图片加载不出来,图片相对路径问题
  10. Python之网络编程