`
phoenix007
  • 浏览: 436011 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

简单使用ssh密钥认证

阅读更多

A机器(ssh连接发起端,即客户端):

 

添加一个测试用户aaa

 

[root@A ~]# useradd aaa

 

suaaa

 

[root@A ~]# su - aaa

[aaa@A ~]$

 

ssh-keygen创建rsa密钥对

 

[aaa@A ~]$ ssh-keygen -t rsa

Generating public/private rsa key pair.

Enter file in which to save the key (/home/aaa/.ssh/id_rsa):       密钥文件的保存位置

Created directory '/home/aaa/.ssh'.              默认的密钥文件存放目录

Enter passphrase (empty for no passphrase):              密钥文件的保护密码

Enter same passphrase again:

Your identification has been saved in /home/aaa/.ssh/id_rsa.              生成的私钥

Your public key has been saved in /home/aaa/.ssh/id_rsa.pub.    生成的公钥

The key fingerprint is:

81:d7:de:e7:cb:7c:4e:16:d6:76:da:9d:30:25:76:09 aaa@A.test.com

 

[aaa@A ~]$ ll

total 32K

drwx------  3 aaa  aaa  4.0K Sep 17 16:09 .

drwxr-xr-x  4 root root 4.0K Sep 17 16:09 ..

-rw-r--r--  1 aaa  aaa   304 Sep 17 16:09 .bash_logout

-rw-r--r--  1 aaa  aaa   191 Sep 17 16:09 .bash_profile

-rw-r--r--  1 aaa  aaa   124 Sep 17 16:09 .bashrc

-rw-r--r--  1 aaa  aaa   383 Sep 17 16:09 .emacs

drwx------  2 aaa  aaa  4.0K Sep 17 16:09 .ssh              创建出的.ssh目录默认权限为700

 

注意生成的私钥文件的默认权限是rw-------,即600(确保他人不能查看)

 

[aaa@A ~]$ ll .ssh/

total 16K

drwx------  2 aaa aaa 4.0K Sep 17 16:09 .

drwx------  3 aaa aaa 4.0K Sep 17 16:09 ..

-rw-------  1 aaa aaa  951 Sep 17 16:09 id_rsa         私钥文件

-rw-r--r--  1 aaa aaa  231 Sep 17 16:09 id_rsa.pub   公钥文件


B机器(ssh的被连接端,即服务端):

 

添加bbb用户

 

[root@B ~]# useradd bbb

 

subbb

 

[root@B ~]# su - bbb

 

手工在家目录下建立.ssh目录(如果不使用ssh-keygen工具的话)

 

[bbb@B ~]$ mkdir .ssh

 

[bbb@B ~]$ ls -al

total 28

drwx------  3 bbb  bbb  4096 Sep 17 16:52 .

drwxr-xr-x  4 root root 4096 Sep 17 16:52 ..

-rw-r--r--  1 bbb  bbb   304 Sep 17 16:52 .bash_logout

-rw-r--r--  1 bbb  bbb   191 Sep 17 16:52 .bash_profile

-rw-r--r--  1 bbb  bbb   124 Sep 17 16:52 .bashrc

drwxrwxr-x  2 bbb  bbb  4096 Sep 17 16:52 .ssh

 

修改.ssh目录的权限为700(非常重要!)

 

[bbb@B ~]$ chmod 700 .ssh

 

[bbb@B ~]$ ls -al

total 28

drwx------  3 bbb  bbb  4096 Sep 17 16:52 .

drwxr-xr-x  4 root root 4096 Sep 17 16:52 ..

-rw-r--r--  1 bbb  bbb   304 Sep 17 16:52 .bash_logout

-rw-r--r--  1 bbb  bbb   191 Sep 17 16:52 .bash_profile

-rw-r--r--  1 bbb  bbb   124 Sep 17 16:52 .bashrc

drwx------  2 bbb  bbb  4096 Sep 17 16:52 .ssh     确认权限为700

 

.ssh目录里创建authorized_keys文件,并将A机器上aaa用户的公钥(id_rsa.pub)内容写入此文件(关键操作!)

 

[bbb@B ~]$ cd .ssh/

 

[bbb@B .ssh]$ vi authorized_keys

 

粘贴aaaid_rsa.pub内容进来

 

修改authorized_keys的权限为400(非常重要!)

 

[bbb@B .ssh]$ chmod 400 authorized_keys

 

[bbb@B .ssh]$ ls -l authorized_keys

-r--------  1 bbb bbb 231 Sep 17 16:53 authorized_keys    确认权限为400

 

 

 

配置结束。


测试:从A机器上,在aaa用户下,使用bbb帐号登录B机器

 

 

[aaa@A ~]$ ssh -l bbb xxx.xxx.xxx.xxx

Enter passphrase for key '/home/aaa/.ssh/id_rsa':       会提示输入私钥保护密码(在创建密钥对时输的密码,输入正确后进入系统)

[bbb@B ~]$

 

  

安全的关键点在于如何安全地将id_rsa.pub的内容传递到服务端

 

 

测试完毕,清理系统(删除测试用户帐号及其家目录)

 

 

A机器上,exitroot

 

[root@A ~]# userdel -r aaa

 

B机器上,exitroot

 

[root@B ~]# userdel -r bbb

分享到:
评论

相关推荐

    SSH密钥登录

    因此,一种更为安全且便捷的认证方式——SSH密钥认证应运而生。本文将详细介绍如何设置SSH密钥登录,并提供一个实用的配置实例。 #### 二、SSH密钥登录原理 SSH密钥登录基于公钥加密技术实现。具体来说,用户首先...

    ssh 简单实用的ssh项目

    在这个“ssh简单实用的ssh项目”中,我们将探讨SSH的基本概念、配置以及其在实际应用中的使用。 SSH的核心功能是加密网络通信,确保数据传输过程中的隐私和完整性。它通过公钥/私钥对进行身份验证,增强了安全性。...

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

    SSH密钥对,包括公钥和私钥,是SSH协议的核心部分,用于身份验证。RSA是一种非对称加密算法,常用于SSH密钥的生成。 标题“sshkey-cn 华为、思科、W3C RSA转16进制”暗示了这个工具或教程专注于将RSA密钥转换成16...

    heimdall:SSH 密钥中央服务器复制器

    SSH 密钥对是 SSH 认证的核心组成部分,由一对密钥组成:公钥和私钥。公钥部署在服务器上,私钥保留在客户端。当客户端尝试连接到服务器时,它使用私钥进行身份验证。使用 Heimdall,可以方便地管理和分发这些密钥,...

    将U盘变密钥盘 将U盘变密钥盘

    2. 安全外壳(SSH)密钥:在Linux或Unix系统中,可以将U盘上的SSH密钥与用户的账户关联,使得用户必须提供U盘才能通过SSH进行远程登录。 3. 密码管理工具:一些密码管理软件如 KeePass 支持使用USB设备作为解锁密钥...

    SSH Copy 17.03.1 好用的mac pro 苹果电脑 ssh 客户端 gui

    2. **密码和密钥对认证**:支持使用密码登录,同时也支持更安全的公钥/私钥对认证方式,用户可以上传自己的SSH密钥到服务器,实现无密码登录,提高安全性。 3. **会话记录**:软件具有会话记录功能,可以保存用户的...

    SSH标准例子(参考配置)

    1. **生成SSH密钥对**:SSH服务依赖于公钥/私钥对进行身份验证。在服务器上生成密钥对,通常使用`ssh-keygen`命令,生成的公钥将放置在`~/.ssh/authorized_keys`文件中,私钥保留在本地客户端。 2. **修改SSH配置...

    SSH Secure Shell.rar

    4. **密钥代理**:使用SSH密钥代理(如`ssh-agent`),可以方便地管理多个密钥,无需手动输入密码。 5. **配置文件**:`~/.ssh/config`文件可以定制SSH连接的默认行为,如指定默认主机、端口、认证方式等。 **五、...

    SSH 远程操作计算器神器

    1. **密钥对认证**:SSH支持密码认证和密钥对认证。后者更安全,因为它不需要每次登录都输入密码。用户可以生成公钥和私钥,将公钥放在远程服务器上,私钥保留在本地,这样只有持有私钥的用户才能登录。 2. **端口...

    ssh小例子,很实用

    这个"ssh小例子"的压缩包文件包含了SSH的实用示例,特别适合那些正在学习或想要深入理解SSH的初学者。下面我们将详细探讨SSH的基础知识、应用场景以及如何通过脚本来实现SSH的功能。 首先,SSH的主要功能是为用户...

    SSH文件上传和下载功能

    这会将`local_file`从本地复制到远程服务器的`remote_path`下,用户需要输入相应的密码或使用SSH密钥对进行无密码登录。 SSH文件下载则是将远程服务器上的文件或目录下载到本地。同样,`scp`命令也可用于下载,只需...

    c# SharpSSH执行SSH命令例子

    在实际应用中,应确保处理异常情况,并考虑使用SSH密钥认证以增强安全性。 总之,SharpSSH为C#开发者提供了一种方便的方式来与Linux服务器进行SSH交互,执行各种系统命令并获取结果,极大地扩展了C#在跨平台操作上...

    SSH2实例编写

    SSH2协议的核心在于它的安全性,它通过公钥加密技术和对称密钥加密技术相结合,确保了通信过程中的数据隐私和完整性。在实际应用中,SSH2通常包括以下几个步骤: 1. **密钥交换**:客户端连接到服务器时,服务器会...

    SSH2 demo

    学习SSH2有助于提升网络安全意识,掌握远程操作和文件传输的技巧,对于IT管理员和开发者来说非常实用。通过实践"SSH2 demo",你可以更好地理解SSH2的工作原理,熟练掌握其应用,提升自己的技能水平。

    SSH SECURE

    如果选择密钥认证,需要将本地的私钥文件配置到SSH客户端,而公钥则需要复制到远程服务器的`.ssh/authorized_keys`文件中。 总的来说,SSH SECURE是IT管理员和开发人员必备的工具之一,它通过提供安全的远程访问和...

    ssh Secure Shell.rar

    标题"ssh Secure Shell.rar"暗示了这是一个关于SSH Secure Shell的压缩文件,可能包含有关如何设置和使用SSH客户端的文档、教程或实用工具。通常,SSH客户端软件允许用户从Windows操作系统连接到远程Linux服务器,...

    我的校内网SSH

    - 定期更换SSH密钥和密码。 - 避免使用默认的SSH端口22,可以更改端口号以增加安全性。 - 禁用不必要的SSH登录方式,如密码登录,优先使用密钥对。 - 实施防火墙规则,只允许特定IP或IP范围的连接请求。 在学校环境...

    ssh加密技术研究及实现.doc

    * SSH 的认证和加密方式:SSH 使用公钥加密和对称加密来实现认证和加密。 七、SSH 的应用范围 * SSH 的特点:SSH 的特点是安全性高、灵活性强、易于使用。 * SSH 的适用范围:SSH 广泛应用于网络数据传输安全、...

    SSH-3.2.9.rar

    总的来说,SSH Secure Shell Client 3.2.9是一个强大的工具,对于需要在Windows环境下远程管理和维护Linux服务器或其他支持SSH的服务的IT专业人员来说非常实用。正确安装和配置SSH客户端可以极大地提高工作效率,...

    winxp下通过ssh与本机通信

    如果在OpenSSH服务器配置中启用了公钥认证,你还可以添加SSH密钥对,以提供更高级别的安全性。生成公钥对通常使用`ssh-keygen`命令,然后将公钥复制到服务器的`~/.ssh/authorized_keys`文件中。 5. **使用SSH进行...

Global site tag (gtag.js) - Google Analytics