我以前一直使用口令通过ssh协议登陆Linux服务器,最近公司要求使用公钥登陆。说是安全,好吧。那我们整一下。那到底使用公钥登陆服务器有什么好处呢?其实我理解是这样的:

当我们创建了公钥和私钥(这是一对,登陆时要使用私钥解密公钥)后,把公钥给任何服务器,登陆Linux服务器时,只要我们的私钥不变,登陆任何服务器都是不需要密码的。而是使用公钥私钥进行身份验证。安全的多!这里也隐含了一个小细节,就是不要把你的私钥给丢了。否则,你想想,几百台服务器上好不容易把你的公钥配置好,而你的私钥丢失,怎么办?私钥是不能单独生成的!

其实网上的文档很多。各有千秋。估计是自己明白了,别人看起来比较费劲。这里我整理一下,以备自己查阅:

配置过程分为两大部分,SecureCRT部分和Linux服务器部分。

SecureCRT部分配置

1、首先生成公钥。

打开SecureCRT(我的版本为7.0,估计其他版本基本相同)程序,点击菜单栏的“工具”-》“创建公钥”。按照步骤执行。其中一步比较重要就是选择公钥的格式。建议选择“OpenSSH”,否则在服务器端使用时需要转换为OpenSSH各式。何必多次一举呢。所以这里必须选择“OpenSSH”。如果选错了。重新生成一次就可以了。

然后选择公钥私钥存放的地方。默认Identity是私钥,Identity.pub是公钥。

2、把Identity.pub文件上传到你要登陆的Linux服务器上。方法有很多,比如ssh(先不要配置为公钥登陆),ftp等。具体操作自己搞定。上传时选择ASCII方式。

3、在SecureCRT创建服务器连接。协议使用ssh。在“鉴权”方法中,取消勾选“密码”。选择“公钥”,然后点击右边的属性按钮,在对话框中。

使用全局公钥设置:表示所有连接都使用该公钥连接服务器。

使用会话公钥设置:可以分别为每个连接指定不同的公钥。

下面的路径就是指明私钥的具体路径。注意了,这里要指明私钥的路径。

保存连接就可以了。

Linux服务器端配置

1、sshd_conf配置

主要修改如下几个内容:

PermitRootLogin no # 默认为注释,先配置为禁止root用户登陆,允许root登陆太危险了。好几次差点犯错误。切记切记!

RSAAuthentication yes #默认为注释, 启用 RSA 认证

AuthorizedKeysFile .ssh/authorized_keys # 验证公钥的存放路径

PubkeyAuthentication yes # 默认为注释,启用公钥认证

PasswordAuthentication no # 禁止密码认证,默认是打开的。

保持后,重新启动ssh服务。在不同的linux服务器上,重启的方法不同。

RedHat,CentOS: service sshd restart      //redhat 7 的方法已经改了。

openbsd,freebsd: /etc/rc.d/sshd restart

2、重点部分:配置公钥存放哪的问题。

要把第一部分上传上来的公钥放到用户home目录的.ssh/ 目录下。这里说明一下。如果你想使用test账号登陆,就要把公钥放到test账户的.ssh目录下。你可以直接把Identity.pub改为authorized_keys. 当然也可还是用其他方法。

比如:cat Identity.pub >> authorized_keys

另外说明一下。.ssh目录权限是700,authorized_keys文件权限为644.

重点补充,如果还有其他人也想用自己的公钥登陆服务器,该如何操作呢? 正常操作应该为该用户在服务器上创建一个账号,重新执行本次(Linux服务器端配置,第2点)操作。当然,你也可以偷懒,把他的公钥也放到test账号的authorized_keys文件中。但两个公钥的内容之间使用换行符隔开。这样的方法还是不可取的。

最后,使用SecureCRT登陆linux服务器。

这里要注意,即使你使用公钥登陆服务器,当你连接的时候,还是要你输入用户名。为何呢?不是说公钥验证么?其实,服务器要知道用你的私钥和哪个用户的.ssh目录下的authorized_keys文件内容进行解密。不可能用你的私钥和所有的用户authorized_keys文件进行匹配测试。

但是也有例外,如果你在linux系统上使用公钥登陆Linux服务器,就不需要指明用户。方法如下:

# ssh 172.16.24.222

为何呢?这时系统默认以为你登陆的远程账号就是你当前登陆的账号。

如果你设置了公钥口令,连接时比如输入。为了安全,这个口令是必须要有的。在SecureCRT中,口令被翻译为:通行短语。呵呵。

补充一下,在linux系统上,如何创建公钥和私钥呢?

方法很简单,执行ssh-keygen命令,按照提示就可以完成。完成后,自动会在当前用户的home目录,创建.ssh文件夹。

服务器端配置和上面的方法相同。

如何在SecureCRT上使用公钥登陆Linux服务器相关推荐

  1. crt上传数据_使用SecureCRT上传文件到Linux服务器

    使用SecureCRT有两种方式可以将文件上传到Linux服务器,已上传Asp.Net Core runtime为例. 一.使用Zmodem(在shell终端上操作) 1.上传 (1)  进行文件上传 ...

  2. Windows 通过 SecureCRT 8.x 上传文件到Linux服务器

    转载自  Windows 通过 SecureCRT 8.x 上传文件到Linux服务器 1.SecureCRT 连接 Linux 服务器,这一步操作简单: 2.连接并登录成功后,直接在连接成功的页签上 ...

  3. etcher制作mac启动盘_如何在Mac上创建和引导Linux USB驱动器

    长期以来,Linux一直是可引导闪存驱动器的代名词,无论是要解决您的主操作系统中的某种问题,还是尝试各种发行版. 如何在Mac上创建和引导Linux USB驱动器​www.macz.com 有几种方法 ...

  4. 通过ssh公钥访问linux服务器

    How To Set Up SSH Keys on CentOS 7 1 生成密钥(可以rsa或者ed25519,推荐25519) ssh-keygen -t ed25519 -C "xxx ...

  5. c上传文件到linux服务器,上传文件到Linux服务器

    1. Window上传文件到Linux 1.1 图形化界面winscp 适用于传送文件和目录,但要安装额外的软件winscp 1.2 lrzsz套件 适用于传送文件,使用ssh远程登录管理软件xshe ...

  6. 通过h5页面上传视频到Linux服务器

    1. 上传视频到本地 https://www.jb51.net/article/132531.htm 2. 上传视频到Linux服务器 建立ftp连接(保证服务器已经安装ftp及对应端口,帐号有权限) ...

  7. 如何限制IP,通过SSH登陆linux服务器

    如何限制IP,通过SSH登陆linux服务器 方法一: 在/etc/hosts.allow中添加允许ssh登陆的ip或者网段     sshd:192.168.1.2:allow 或者 sshd:19 ...

  8. 在linux终端远程登陆linux服务器

    2019独角兽企业重金招聘Python工程师标准>>> 在linux终端远程登陆linux服务器 原来在linux终端远程登陆linux服务器是那么的容易,如果的服务器用户名是abc ...

  9. sftp方式从windows上传文件到Linux服务器

    今天我一直用scp想实现从windows上传文件到Linux服务器,但是鼓捣了半天也没有实现.后来查资料才发现,scp实现文件的上传和下载貌似只能在Linux和Linux之间实现.(欢迎指正不对的地方 ...

最新文章

  1. linux学习笔记一
  2. 这只狗,其实是猫变的:“撸猫神器”StarGAN v2来了!
  3. c++ using 前置声明_详解C++ 前置声明
  4. spring boot的gradle整合日志
  5. Android Studio使用JDBC远程连接mysql的注意事项(附示例)
  6. Pytorch中RNN输出的h_n和output是什么
  7. win10激活bug 任务栏假死点击无反应解决方案
  8. 【学渣告诉你】到底神马是傅里叶级数!!!!!!
  9. java.lang.IndexOutOfBoundsExceptionInconsistency detected. Invalid view holder adapter position问题处理
  10. 驱动开发之注册表:获取注册表HKEY_CURRENT_USER对应路径(SID)
  11. R语言空间面板数据统计分析
  12. LeekCode3_无重复字符的最长子串(中等)
  13. Web数据挖掘技术综述
  14. 非平衡电桥电阻计算_【2019年整理】用非平衡电桥测量电阻
  15. 程序员越老越容易失业?码农的出路到底在哪里
  16. qt linux获取安装目录路径
  17. 【前端】JavaScript与正则表达式
  18. Intellij IDEA 11个隐藏技巧
  19. 数据科学家小贴士:10个最佳的可视化工具
  20. 监控系统计算机网络自检表,高速公路机电系统交工自检表格(全)

热门文章

  1. 深度学习-Tensorflow2.2-卷积神经网络{3}-电影评论数据分类/猫狗数据集实例-15
  2. python中的断点是什么_python中简单的递归(断点报错的小福利)
  3. 裘宗燕-数据结构与算法python描述-ppt及源代码
  4. postgresql10.5安装
  5. 从List分组后重新组织数据
  6. 第七章 二叉搜索树(b1)BST:查找
  7. 获取其他线程的数据用 queue, 多进程Q
  8. 【Unity】Planar Shadows平面阴影的实现
  9. array DEMO
  10. LINQ体验(6)——LINQ to SQL语句之Join和Order By