ssh 不使用密码使用私钥链接

本文详细介绍了如何在服务器(S)和客户机(C)之间通过SSH实现无密码登录。首先在S端生成RSA密钥对,然后将公钥追加到authorized_keys文件,并设置权限。接着在C端下载私钥并配置文件权限,最后通过ssh-i命令进行无密码连接。该过程增强了SSH的安全性。
ssh 不使用密码使用私钥链接
C是客户机 S是服务器
以下在S端执行
执行  ssh-keygen -t rsa -b 4096
Enter file in which to save the key  输入要保存密钥的文件 可以不输入直接回车
Enter passphrase (empty for no passphrase): 输入创建密码 在使用秘钥的时候需要数据密码 也可不输入
Enter same passphrase again: 再次输入密码
此时秘钥应该生成成功了
执行  ll ~/.ssh/   这个目录下面一个公钥一个私钥  id_rsa   id_rsa.pub
私钥需要保存下来 登录的时候使用
执行 cat id_rsa.pub >> authorized_keys 将公钥追加到authorized_keys文件中
     或者 mv id_rsa.pub authorized_keys  将名称直接改成authorized_keys
执行 chmod 600 ~/.ssh/authorized_keys 赋权限
执行sz id_rsa下载私钥下载到C端
执行 vim /etc/ssh/sshd_config
修改配置文件
Port 2022   端口号默认 22  可以不用修改,修改后安全性更高
PasswordAuthentication no           ##yes 改为no,不使用密码登录
PubkeyAuthentication yes         ##去掉注释,开启公钥验证
AuthorizedKeysFile      .ssh/authorized_keys          #默认应该就是这样的
执行  systemctl restart sshd  重新启动ssh

C段执行
chmod 600 ./id_rsa
ssh -i ./id_rsa  root@192.168.3.102 #这样就可以直接连接到102

### 如何配置SSH私钥以通过SSH协议从Git拉取代码 #### 配置SSH私钥的过程 为了能够通过SSH协议安全地访问远程Git仓库,需要完成一系列的配置工作。以下是关于如何配置SSH私钥的具体说明: 1. **检查现有的SSH密钥** 在开始之前,先确认本地是否存在已有的SSH密钥文件。通常这些文件位于用户的`.ssh`目录下,可以通过以下命令检查是否有现成的密钥对: ```bash ls ~/.ssh ``` 如果存在名为`id_rsa`(私钥)和`id_rsa.pub`(公钥)的文件,则无需重新创建[^2]。 2. **生成新的SSH密钥对** 若未发现任何可用的密钥对,可以运行如下命令来生成一个新的SSH密钥对: ```bash ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ``` 这里会提示输入保存位置,默认情况下推荐接受默认路径(即~/.ssh/id_rsa)。接着设置密码保护此私钥的安全性[^3]。 3. **添加新生成的SSH密钥至SSH代理程序** 使用下面这条指令启动SSH代理并将刚产生的私钥加入其中以便后续操作更加便捷高效: ```bash eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_rsa ``` 4. **复制公钥内容上传到GitHub账户或其他Git服务提供商处** 执行下列命令获取公开部分的内容,并将其粘贴进目标平台上的相应区域(例如GitHub中的Settings -> SSH and GPG keys 页面下的 New SSH key 输入框内)。 ```bash cat ~/.ssh/id_rsa.pub ``` 5. **测试连接验证是否成功建立通信链路** 尝试利用以下方式检验能否顺利抵达指定主机端口的服务进程之上: ```bash ssh -T git@github.com ``` 成功的话应该收到一条欢迎消息表明一切正常运作良好;反之则需排查错误原因直至解决为止。 6. **克隆项目库地址替换HTTP链接形式为SSH风格表述方法** 当上述准备工作全部完成后,在实际执行clone动作时记得采用形如这样的URL模式表达目的资源定位信息: ```bash git clone ssh://git@github.com:{用户名}/{仓库名}.git 或者简化版本: git clone git@github.com:{用户名}/{仓库名}.git ``` 以上便是整个流程概述及其每一步骤的关键要点解析[^4]。 ```python import os os.system('ssh-keygen -t rsa -b 4096') ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值