Vscode的SSH远程连接与开发
SSH (Secure Shell) 是一种用于安全登录远程系统的网络协议,也是访问远程 Linux 服务器最常 用、最安全的方式。
SSH 的工作原理
SSH 通过客户端-服务器模型运作,由一个客户端程序和一个名为 sshd 的 SSH 服务器程序组成。sshd 服务通常在 Linux 服务器启动时自动运行。如果遇到连接问题,或者 sshd 服务未运行,您可以在 Ubuntu 系统上使用以下命令启动它:
sudo systemctl start ssh一些云服务提供商还提供基于浏览器的 Console 功能,这在 SSH 客户端配置错误或无法使用时,提供了一个便利的备用通道来访问服务器
ssh 配置
- 创建 SSH 密钥
在您希望用于登录的本地机器上生成 SSH 密钥对。通常使用 ssh-keygen 命令,执行完毕后生成两个文件: id_rsa (私钥) 和 id_rsa.pub (公钥)。默认是在 .ssh 目录下。
ssh-keygen -t rsa -b 4096 -C "这是注释"- t rsa: 指定密钥类型为 RSA。-b 4096: 指定密钥长度为 4096 位,增强安全性(默认通常为 2048 位)。-C "这是注释": 为密钥添加注释,便于区分服务器配置公钥文件
将公钥内容复制到远程服务器的 ~/.ssh/authorized_keys 文件的最后一行,以授权该密钥进行 SSH 登录. 在vsccode终端中使用ssh username@server_ip命令连接服务器,输入登录密码后,就可以使用SSH连接到服务器了.然后cd /etc/ssh 进入ssh配置文件夹,使用sudo nano sshd_config命令编辑sshd_config文件,找到以下,确保它们被正确配置:
PubkeyAuthentication yes # 启用公钥认证
AuthorizedKeysFile .ssh/authorized_keys # 指定存放公钥的文件路径
PasswordAuthentication no # 禁止密码登录,增强安全性
PermitRootLogin yes # 允许root用户登录(根据需要设置为no以增强安全性)- 配置本地SSH
在本地机器上编辑 ~/.ssh/config 文件,添加以下类似内容来配置 SSH 连接,示例配置如下.
Host myserver_name
HostName server_公网ip
User username
IdentityFile ~/.ssh/id_rsa
Host dev-server
HostName 192.168.1.10
User devuser
Port 2222
IdentityFile ~/.ssh/dev_key
Host prod-server
HostName example.com
User admin
Port 22
IdentityFile ~/.ssh/prod_key
ServerAliveInterval 60ssh 连接/退出
# 连接到服务器
ssh myserver_name
# 或者直接使用 ssh 命令连接
ssh username@server_ip
# 如果使用了非默认端口,指定端口号
ssh -p 2222 devuser@192.168.1.10
# 退出 SSH 会话
exit