Ubuntu + SSH密钥连接服务器

1. 下载VS code

cd到下载文件夹后,使用命令安装,把xxx复制为文件名

sudo dpkg -i xxx.deb

2. 为VSCode换皮肤

3. 下载SSH插件和Docker插件

在这里插入图片描述
在这里插入图片描述

4. 配置SSH

在这里插入图片描述
在这里插入图片描述

把密钥key文件放在/home/your_user_name/.ssh/里面,然后在/home/your_user_name/.ssh/config中加入如下内容:

  Host idcmnt1.truesight.com.cn
    HostName idcmnt1.truesight.com.cn
    User root
    Port 10044
    IdentityFile ~/.ssh/base44.key

Host是你为服务器主机起的名字,HostName是服务器IP地址,这俩可以一样。IdentityFile是你存放密钥的地址(需要把密钥文件复制到这个目录),Windows为C:/Users/your_user_name/.ssh/base44.key
在这里插入图片描述
在这里插入图片描述
Windows不用配置第二个文件
在/etc/ssh/ssh_config文件尾处加入如下内容:

SendEnv LANG LC_*
    HashKnownHosts yes
    GSSAPIAuthentication yes

    RSAAuthentication yes
    PubkeyAuthentication yes

5. 点这个小箭头远程连接

在这里插入图片描述

<think>好的,我现在需要帮助用户在Ubuntu Core系统上设置和使用SSH密钥。首先,我得回忆一下Ubuntu Core和普通Ubuntu的区别。Ubuntu Core是一个针对物联网和云环境的轻量级、安全强化版本,使用snap包管理,系统结构可能有所不同。因此,传统的SSH密钥配置方法可能需要调整。 用户提到的引用中有关于生成SSH密钥、配置Git使用密钥、以及密钥备份恢复的内容。比如引用3提到了用ssh-keygen生成密钥,引用2和5提到了ssh-add添加私钥,引用4提到在Docker容器内使用SSH密钥的问题,这可能与Ubuntu Core的容器化环境有关联? 首先,Ubuntu Core默认可能没有安装SSH服务器,或者访问权限受限。用户需要确认是否已安装openssh-server,但Ubuntu Core通常使用snap,可能需要通过特定方式启用SSH。比如,是否需要通过snap安装SSH服务?或者系统本身已经集成了SSH但需要配置? 接下来是生成SSH密钥。用户需要在Ubuntu Core上生成密钥对,使用ssh-keygen命令。根据引用3,命令是ssh-keygen -t rsa -C "注释",然后保存到.ssh目录。但要注意,Ubuntu Core的文件系统可能是只读的,或者.ssh目录需要手动创建,权限设置是否正确?比如,用户可能需要先创建~/.ssh目录,设置700权限,然后生成密钥,并确保私钥权限为600,公钥644,如引用5所述。 然后,将公钥添加到远程服务器的authorized_keys文件中。但如果是Ubuntu Core设备本身作为SSH服务器,用户需要将公钥添加到设备的~/.ssh/authorized_keys中。但Ubuntu Core可能使用不同的机制,比如通过snap配置或特定的用户账户管理。例如,引用1提到需要关联SSH密钥Ubuntu账户,可能涉及Ubuntu SSO,用户可能需要使用ssh-import-id命令或者通过网页界面添加密钥? 另外,关于SSH代理,引用2和5提到使用ssh-add添加私钥到代理,避免每次输入密码。用户生成密钥后可能需要执行ssh-add ~/.ssh/id_rsa,并确保ssh-agent正在运行。 还有权限问题,引用5详细说明了恢复密钥时设置正确权限的步骤,比如chmod 700 ~/.ssh,chmod 600私钥等。在Ubuntu Core上同样需要注意这些权限设置,否则SSH会拒绝使用密钥。 可能的步骤总结: 1. 检查SSH服务是否已启用,必要时安装或配置。 2. 生成SSH密钥对,确保存储路径和权限正确。 3. 将公钥添加到目标位置(本地或远程服务器的authorized_keys)。 4. 配置SSH客户端使用私钥,可能使用ssh-agent。 5. 测试连接,处理可能的问题,如权限错误、服务未启动等。 需要验证这些步骤在Ubuntu Core上的适用性。例如,Ubuntu Core可能默认使用严格的安全策略,用户可能需要通过snap设置或使用官方文档推荐的方法配置SSH访问。此外,Ubuntu Core的用户账户管理可能不同,是否需要使用sudo或特定用户权限? 另外,引用4提到在Docker容器内配置SSH的问题,这可能与Ubuntu Core的容器化特性相关,但用户的问题是关于Ubuntu Core本身,可能不需要考虑Docker,除非用户是在Core上运行容器。 最后,用户可能遇到的问题包括:无法找到.ssh目录,权限错误,SSH服务未启动,密钥未正确关联到Ubuntu账户等。需要针对这些情况给出解决方案,并引用相关的参考资料中的步骤,如权限设置、ssh-add的使用等。</think>### 在 Ubuntu Core 上设置和使用 SSH 密钥的分步指南 #### 1. **启用 SSH 服务** - Ubuntu Core 默认使用 `snap` 管理服务。若需启用 SSH 服务,执行以下命令: ```bash sudo snap install core sudo snap start sshd ``` 若已安装但未启动,使用 `sudo snap restart sshd`[^1]。 #### 2. **生成 SSH 密钥对** - 在终端运行以下命令生成密钥: ```bash ssh-keygen -t rsa -C "your_email@example.com" ``` 按提示保存到 `~/.ssh/id_rsa`(默认路径),建议设置密码增强安全性[^3]。 #### 3. **配置密钥权限** - 创建 `.ssh` 目录并设置权限: ```bash mkdir -p ~/.ssh chmod 700 ~/.ssh ``` - 调整密钥文件权限: ```bash chmod 600 ~/.ssh/id_rsa # 私钥仅用户可读写 chmod 644 ~/.ssh/id_rsa.pub # 公钥可公开 ``` 权限错误会导致 SSH 拒绝连接[^5]。 #### 4. **关联公钥到 Ubuntu 账户** - 若需通过 Ubuntu SSO 认证,上传公钥至账户: 1. 复制公钥内容: ```bash cat ~/.ssh/id_rsa.pub ``` 2. 登录 [Ubuntu SSO](https://login.ubuntu.com/),在 **SSH Keys** 部分添加公钥[^1]。 #### 5. **配置 SSH 客户端使用密钥** - 将私钥添加到 SSH 代理(避免重复输入密码): ```bash eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_rsa ``` 若使用非默认密钥名,需通过 `-i` 参数指定路径[^2][^5]。 #### 6. **测试 SSH 连接** - 连接到目标设备(如另一台 Ubuntu Core 设备): ```bash ssh username@hostname -i ~/.ssh/id_rsa ``` 若提示权限被拒,检查目标设备的 `~/.ssh/authorized_keys` 是否包含公钥。 --- ### 常见问题处理 - **SSH 连接失败** 检查服务状态:`sudo snap services sshd`,确保状态为 `active`。 - **密钥权限错误** 重新执行 `chmod 600 ~/.ssh/id_rsa` 并确认 `.ssh` 目录权限为 `700`[^5]。 - **跨设备同步密钥** 备份 `~/.ssh` 目录至安全位置,恢复时需保持权限一致[^5]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

starleeisamyth

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值