ssh之pub-key登陆服务器

本文详细介绍了如何配置SSH以使用公钥登录服务器,包括服务器上的用户创建、.ssh目录配置、sshd_config设置,客户端的Git Bash操作、pub-key上传,以及sudo权限配置。同时,提供了scp文件上传下载的方法,并针对‘所选的用户密钥未在远程主机上注册’的错误给出了解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

### 如何配置 SSH 密钥实现无密码登录服务器 #### 生成密钥对 为了能够使用SSH密钥认证方式登录远程主机,首先需要在本地计算机上创建一对SSH密钥——公钥和私钥。对于大多数Linux发行版以及类Unix操作系统而言,可以通过`ssh-keygen`工具轻松完成此操作。 ```bash ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ``` 上述命令会提示指定保存密钥的位置,默认情况下会被放置于用户主目录下的`.ssh/id_rsa`文件内[^3]。 #### 安装公钥至目标机器 一旦完成了密钥对的建立工作之后,则需将所得到的那个公开部分部署到打算访问的目标系统上去。这一步骤可通过多种途径达成: - **手动复制粘贴** 手动地把位于本机上的`~/.ssh/id_rsa.pub`(或者是其他类型的公钥文件,比如ed25519)里的内容追加进远端账户对应的`~/.ssh/authorized_keys`文档之中去[^2]。 - **利用 `ssh-copy-id` 命令** 这是一个更为简便的方法,它能自动处理好一切必要的细节问题,只需执行如下指令即可: ```bash ssh-copy-id user@remote_host ``` #### 修改服务端配置允许密钥验证 为了让整个过程顺利进行下去,还需确保被访节点已经启用了基于密钥的身份校验机制。通常这意味着要修改其SSHD守护进程的相关设定参数。以Debian为例,应当找到并调整下面这些选项: ```plaintext RSAAuthentication yes PubkeyAuthentication yes PasswordAuthentication no ``` 编辑完成后记得重启相应的网络服务以便使更改生效[^1]。 #### 测试新的登录方法 最后一步就是尝试着不带任何额外参数直接发起一次连接请求看看是否真的不再弹出询问口令对话框了: ```bash ssh user@remote_host ``` 如果一切正常的话,现在应该可以直接进入到对方系统的shell界面而无需再输入密码啦!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值