ssh vue 实现
使用SSH连接Vue项目部署的服务器
在Vue项目开发完成后,通常需要将项目部署到远程服务器。使用SSH可以安全地连接到服务器并进行部署操作。
生成SSH密钥对
在本地机器上生成SSH密钥对,用于身份验证:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
将公钥上传到服务器:
ssh-copy-id username@server_ip
配置SSH连接
创建或修改本地SSH配置文件~/.ssh/config:
Host myserver
HostName server_ip
User username
Port 22
IdentityFile ~/.ssh/id_rsa
通过SSH部署Vue项目
构建Vue项目生产版本:
npm run build
使用SCP命令将构建文件传输到服务器:
scp -r dist/* myserver:/var/www/html/
自动化部署脚本
创建部署脚本deploy.sh:
#!/bin/bash
npm run build
rsync -avz --delete dist/ myserver:/var/www/html/
使用CI/CD工具集成SSH
在GitHub Actions配置中添加SSH部署步骤:
- name: Deploy to Server
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.SSH_HOST }}
username: ${{ secrets.SSH_USERNAME }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
script: |
cd /var/www/html
git pull
npm install
npm run build
安全注意事项
禁用SSH密码认证,仅允许密钥登录:
sudo sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo systemctl restart sshd
修改SSH默认端口:
sudo sed -i 's/#Port 22/Port 2222/' /etc/ssh/sshd_config
常见问题解决
SSH连接超时可尝试添加以下配置:
Host *
ServerAliveInterval 60
TCPKeepAlive yes
权限问题可通过以下命令修复:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys






