客户端与服务端 基于ssh秘钥的免密登录

本文详细介绍了如何通过SSH密钥实现无密码登录。首先检查是否已安装OpenSSH,然后在客户端生成公钥和私钥。接着,将公钥发送到服务端,并使用ssh-copy-id命令进行重命名。最后,客户端可以直接通过密钥登录服务器,无需输入密码。

我们使用的是Openssh

一 . 首先判断是否安装openssh

ps -ef|grep sshd 查看是否安装,如下图代表有(由于我安装的dvd版本所有自带) 
如果没有下图需要安装

查看openssh是否安装

二 .在客户端生成秘钥

客户端生成秘钥
查看秘钥使用ll -a 在.ssh下一个公钥一个私钥
查看私钥1
查看私钥2

三 . 将公钥发送给服务端并重命名ssh-copy-id 服务器ip,之后会需要输入密码

将公钥发送给服务器

四 . 现在客户端链接服务器直接 ssh root@192.168.163.122 不需要密码,使用秘钥登录

### 配置 Kali Linux SSH 实现无密码登录 为了使 Kali Linux 的 SSH 远程连接无需输入密码,可以采用基于公钥认证的方式。具体操作如下: #### 创建本地密钥对 如果尚未创建过 SSH 密钥,则需先生成一对新的 RSA 秘钥。 ```bash ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ``` 此命令会提示指定保存位置,默认路径为 `~/.ssh/id_rsa` 和 `~/.ssh/id_rsa.pub` 文件中存储私钥和公钥[^2]。 #### 将公钥复制到目标主机 通过 `ssh-copy-id` 命令可自动完成向远程服务器传输公钥的工作。 ```bash ssh-copy-id user@remote_host_ip_address ``` 这一步骤将会把当前用户的 `.ssh/id_rsa.pub` 中的内容追加至远程机器上的 `~/.ssh/authorized_keys` 文件内。 #### 调整权限设置 确保客户端服务端的相关目录及文件具有适当的安全属性。 对于客户端而言: ```bash chmod 700 ~/.ssh chmod 600 ~/.ssh/* ``` 而对于服务器侧则应执行: ```bash chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys ``` #### 修改SSH配置允许根用户直接登陆并支持秘钥验证 编辑 `/etc/ssh/sshd_config` 文件,在其中找到或添加以下几项参数,并按需求调整其值: - **PermitRootLogin** 设置为 `yes` 或者更安全的选择是设成 `prohibit-password` 来仅限于使用密钥进行身份验证。 - **PubkeyAuthentication** 应当被启用即设置为 `yes`. 最后记得重启 SSH 服务以便应用更改过的设定。 ```bash sudo systemctl restart sshd ``` 以上步骤完成后,尝试再次建立 SSH 连接时应该不再弹出询问密码对话框而是直接进入 shell 环境[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值