OpenSSH免密码登录SSH2

本文详细介绍如何配置OpenSSH客户端实现SSH2服务器的免密码登录。主要包括创建密钥对、转换公钥格式、上传公钥文件及配置授权文件等步骤。

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

SSH2免密码登录OpenSSH
http://blog.csdn.net/aquester/article/details/23836299

两个SSH2间免密码登录
http://blog.csdn.net/aquester/article/details/23836347


1. 如何确定是OpenSSH还是SSH2

执行命令“ssh -V”,通过它的输出,即可确定:

SSH2

ssh: SSH Secure Shell 3.2.9.1 (non-commercial version) on

OpenSSH

OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010

2. 操作步骤

2.1. OpenSSH端操作步骤

1) 在用户主目录下,创建.ssh子目录:

mkdir ~/.ssh

2) 进入~/.ssh目录,以下操作都在~/.ssh目录下完成

3) 使用ssh-keygen命令,生成私钥和公钥文件:

ssh-keygen -t rsa

 

然后一路回车,直到完成,这样会在~/.ssh目录下生成两个文件:id_rsa和id_rsa.pub,其中id_rsa是私钥文件,id_rsa.pub是公钥文件。

4) 将OpenSSH的公钥文件转换成SSH2的公钥文件:

ssh-keygen -e -f id_rsa.pub > id_rsa_SSH2.pub

 

文件名id_rsa_SSH2.pub没有要求,推荐直接命名为id_rsa_SSH2.pub,这样容易理解和记忆,注意这里使用了参数“-e -f”。

5) 将转换生成的SSH2公钥文件上传到SSH2机器上:

scp id_rsa_SSH2.pub root@192.168.0.1:/root/.ssh2

 

这里假设上传到IP192.168.0.1的机器上,并且OpenSSH机器将使用root用户免密码登录SSH2机器。请把它直接上传到/root/.ssh2目录下。

接下来的操作,需要在SSH2机器上完成。

2.2. SSH2端操作步骤

1) 进入~/.ssh2目录,以下操作都在~/.ssh2目录下完成

2) 生成或修改文件authorization:

echo "Key id_rsa_SSH2.pub" >> authorization

 

至此大功告成,OpenSSH机器即可免密码登录SSH2机器了:ssh root@192.168.0.1

### VS Code SSH 免密登录配置教程 为了实现通过 Visual Studio Code (VS Code) 使用 Remote Development 插件进行免密码SSH 登录,可以按照以下方法完成配置。 #### 1. 创建本地 SSH 密钥对 在本地计算机上生成一对新的 SSH 私钥和公钥。如果已经存在有效的密钥,则无需重新创建。 ```bash ssh-keygen -t ed25519 -C "your_email@example.com" ``` 默认情况下,新生成的密钥会存储在 `~/.ssh/` 文件夹下,其中私钥命名为 `id_ed25519`,而对应的公钥则为 `id_ed25519.pub`[^2]。 #### 2. 将公钥复制至目标服务器 将刚刚生成的公钥内容追加到远程主机上的 `~/.ssh/authorized_keys` 文件中。可以通过多种方式完成此操作: - **手动复制粘贴** ```bash cat ~/.ssh/id_ed25519.pub ``` 复制上述命令输出的内容,并将其添加到远程机器中的 `~/.ssh/authorized_keys` 文件里[^3]。 - 或者利用工具自动上传: ```bash ssh-copy-id user@remote_host_ip_address ``` #### 3. 设置正确的权限 确保 `.ssh` 目录及其内部文件具有适当的安全设置,防止因权限不当而导致认证失败。 ```bash chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys ``` 这些指令分别赋予目录只读写给当前用户的属性以及让授权键仅限于拥有者可查看编辑的权利[^4]。 #### 4. 配置 VS Code 的 settings.json 打开 VS Code 并进入其设置界面 (`Ctrl+,`) ,切换到 JSON 编辑模式,在 `"settings"` 对象内加入如下字段来指定身份验证所需的路径: ```json { ... "terminal.integrated.env.windows": { "GIT_SSH_COMMAND": "/path/to/private/key", "SSH_AUTH_SOCK": "" }, "[javascript]" } ``` 注意替换 `/path/to/private/key` 成实际使用的私钥绝对地址;对于 Windows 用户而言可能还需要额外安装 OpenSSH 客户端并调整环境变量映射关系以便支持跨平台互访需求[^1]。 最后重启软件使更改生效即可享受无缝衔接体验! ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值