A机器(ssh连接发起端,即客户端):
添加一个测试用户aaa
[root@A ~]# useradd aaa
su成aaa
[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
su成bbb
[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
粘贴aaa的id_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机器上,exit到root下
[root@A ~]# userdel -r aaa
B机器上,exit到root下
[root@B ~]# userdel -r bbb
分享到:
相关推荐
因此,一种更为安全且便捷的认证方式——SSH密钥认证应运而生。本文将详细介绍如何设置SSH密钥登录,并提供一个实用的配置实例。 #### 二、SSH密钥登录原理 SSH密钥登录基于公钥加密技术实现。具体来说,用户首先...
在这个“ssh简单实用的ssh项目”中,我们将探讨SSH的基本概念、配置以及其在实际应用中的使用。 SSH的核心功能是加密网络通信,确保数据传输过程中的隐私和完整性。它通过公钥/私钥对进行身份验证,增强了安全性。...
SSH密钥对,包括公钥和私钥,是SSH协议的核心部分,用于身份验证。RSA是一种非对称加密算法,常用于SSH密钥的生成。 标题“sshkey-cn 华为、思科、W3C RSA转16进制”暗示了这个工具或教程专注于将RSA密钥转换成16...
SSH 密钥对是 SSH 认证的核心组成部分,由一对密钥组成:公钥和私钥。公钥部署在服务器上,私钥保留在客户端。当客户端尝试连接到服务器时,它使用私钥进行身份验证。使用 Heimdall,可以方便地管理和分发这些密钥,...
2. 安全外壳(SSH)密钥:在Linux或Unix系统中,可以将U盘上的SSH密钥与用户的账户关联,使得用户必须提供U盘才能通过SSH进行远程登录。 3. 密码管理工具:一些密码管理软件如 KeePass 支持使用USB设备作为解锁密钥...
2. **密码和密钥对认证**:支持使用密码登录,同时也支持更安全的公钥/私钥对认证方式,用户可以上传自己的SSH密钥到服务器,实现无密码登录,提高安全性。 3. **会话记录**:软件具有会话记录功能,可以保存用户的...
1. **生成SSH密钥对**:SSH服务依赖于公钥/私钥对进行身份验证。在服务器上生成密钥对,通常使用`ssh-keygen`命令,生成的公钥将放置在`~/.ssh/authorized_keys`文件中,私钥保留在本地客户端。 2. **修改SSH配置...
4. **密钥代理**:使用SSH密钥代理(如`ssh-agent`),可以方便地管理多个密钥,无需手动输入密码。 5. **配置文件**:`~/.ssh/config`文件可以定制SSH连接的默认行为,如指定默认主机、端口、认证方式等。 **五、...
1. **密钥对认证**:SSH支持密码认证和密钥对认证。后者更安全,因为它不需要每次登录都输入密码。用户可以生成公钥和私钥,将公钥放在远程服务器上,私钥保留在本地,这样只有持有私钥的用户才能登录。 2. **端口...
这个"ssh小例子"的压缩包文件包含了SSH的实用示例,特别适合那些正在学习或想要深入理解SSH的初学者。下面我们将详细探讨SSH的基础知识、应用场景以及如何通过脚本来实现SSH的功能。 首先,SSH的主要功能是为用户...
这会将`local_file`从本地复制到远程服务器的`remote_path`下,用户需要输入相应的密码或使用SSH密钥对进行无密码登录。 SSH文件下载则是将远程服务器上的文件或目录下载到本地。同样,`scp`命令也可用于下载,只需...
在实际应用中,应确保处理异常情况,并考虑使用SSH密钥认证以增强安全性。 总之,SharpSSH为C#开发者提供了一种方便的方式来与Linux服务器进行SSH交互,执行各种系统命令并获取结果,极大地扩展了C#在跨平台操作上...
SSH2协议的核心在于它的安全性,它通过公钥加密技术和对称密钥加密技术相结合,确保了通信过程中的数据隐私和完整性。在实际应用中,SSH2通常包括以下几个步骤: 1. **密钥交换**:客户端连接到服务器时,服务器会...
学习SSH2有助于提升网络安全意识,掌握远程操作和文件传输的技巧,对于IT管理员和开发者来说非常实用。通过实践"SSH2 demo",你可以更好地理解SSH2的工作原理,熟练掌握其应用,提升自己的技能水平。
如果选择密钥认证,需要将本地的私钥文件配置到SSH客户端,而公钥则需要复制到远程服务器的`.ssh/authorized_keys`文件中。 总的来说,SSH SECURE是IT管理员和开发人员必备的工具之一,它通过提供安全的远程访问和...
标题"ssh Secure Shell.rar"暗示了这是一个关于SSH Secure Shell的压缩文件,可能包含有关如何设置和使用SSH客户端的文档、教程或实用工具。通常,SSH客户端软件允许用户从Windows操作系统连接到远程Linux服务器,...
- 定期更换SSH密钥和密码。 - 避免使用默认的SSH端口22,可以更改端口号以增加安全性。 - 禁用不必要的SSH登录方式,如密码登录,优先使用密钥对。 - 实施防火墙规则,只允许特定IP或IP范围的连接请求。 在学校环境...
* SSH 的认证和加密方式:SSH 使用公钥加密和对称加密来实现认证和加密。 七、SSH 的应用范围 * SSH 的特点:SSH 的特点是安全性高、灵活性强、易于使用。 * SSH 的适用范围:SSH 广泛应用于网络数据传输安全、...
总的来说,SSH Secure Shell Client 3.2.9是一个强大的工具,对于需要在Windows环境下远程管理和维护Linux服务器或其他支持SSH的服务的IT专业人员来说非常实用。正确安装和配置SSH客户端可以极大地提高工作效率,...
如果在OpenSSH服务器配置中启用了公钥认证,你还可以添加SSH密钥对,以提供更高级别的安全性。生成公钥对通常使用`ssh-keygen`命令,然后将公钥复制到服务器的`~/.ssh/authorized_keys`文件中。 5. **使用SSH进行...