---
# System prepended metadata

title: 連接AWS虛擬機

---

要注意key file存放的位置，記得要更改路徑
![](https://hackmd.io/_uploads/B15PYrY_n.png)
chmod 400 :更改權限大小
![](https://hackmd.io/_uploads/SkGxqHK_n.png)

我的專案目錄：


## 權限
ls. -al
 __________->drwxrwxrwx->421421421
 如果是400->只有自己可以讀
 
 #### CLI指令可以多多熟悉～～
 
#### reverse proxy(RP)反向代理器

#### launchsetting.json
更改來源設定http://+:80
security group需要設定port開啟

RDS
inbound 規則
1433 port
cd /home/ec2-user/MyProject (week0part2)
如果要從vm抓檔案，則是需要在本機端發出scp請求
以下為從本機端抓vm資料:
scp -i ~/Downloads/mike.pem ec2-user@ec2-54-206-112-131.ap-southeast-2.compute.amazonaws.com:/home/ec2-user/MyProject/* .

以下是從本機端上傳vm:
scp -i ~/Downloads/mike.pem -r "/Users/yuchun/Library/CloudStorage/OneDrive-元智大學/Appwork school/task/week 0/part3/stylish/" ec2-user@54.206.112.131:/home/ec2-user/week0_part_3
##### 如果是從本機端進行操作，前面都要加上私鑰

scp -i ~/Downloads/mike.pem -r "/Users/yuchun/Documents/GitHub/Back-End-Class-91APP/students/irene/stylish" ec2-user@54.206.112.131:/home/ec2-user/week0_part_5

scp -i ~/Downloads/mike.pem -r "/Users/yuchun/Downloads/yuchunchun.online" ec2-user@54.206.112.131:/home/ec2-user/

//雪梨
scp -i ~/Desktop/mike.pem -r ~/Desktop/Midterm ec2-user@54.206.112.131:/home/ec2-user/midterm

//東京，如果建新的ec2，要記得去調整安全群組！！！開新的port（例如：80 port）
scp -i ~/Downloads/mike.pem -r "/Users/yuchun/Desktop/Midterm" ec2-user@18.183.120.107:/home/ec2-user/midterm

/只上傳publish
scp -i ~/Downloads/mike.pem -r "/Users/yuchun/Documents/GitHub/Back-End-Class-91APP/students/irene/stylish/bin/Release/net7.0/linux-x64/publish" ec2-user@18.183.120.107:/home/ec2-user/Stylish

#### 每一台ec2的donnet SDK下載位置都不一樣
可以用以下指令搜尋dotnet位置
`which dotnet`
//以下為東京的screen位置
screen -d -m sudo /usr/bin/dotnet run

#### 因為80 port有權限
所以已定要記得加上sudo
`sudo dotnet run`
不然會出現以下錯誤
`Unhandled exception. System.Net.Sockets.SocketException (13): Permission denied`

##### VPC(virtual private cloud)
安全性設定

#### 可以讓檔案在背景執行
https://dev.to/akhileshthite/how-to-keep-ec2-instance-running-after-ssh-is-terminated-45k8
screen -d -m sudo /opt/dotnet/dotnet run 
//可以查看背景執行檔案
screen -ls

#### 記得要在launchsetting.jsong設定 +:80port
![](https://hackmd.io/_uploads/rJywmmQt2.png)


#### 上傳ec2步驟
1. 先在路徑下建立資料夾
`mkdir /home/ec2-user/week1_part_1`

2. 本機端使用scp上傳檔案
3. vm使用nano更改nano Properties/launchSettings.json
4. sudo /opt/dotnet/dotnet run
5. 背景執行`screen -d -m sudo /opt/dotnet/dotnet run`

#### 如果在vm已經正常執行，但網址無法瀏覽，可以嘗試使用kill pid
`ps aux //可以看到所有背景執行，再將與ec2的都刪除`

#### linux刪除檔案
`sudo rm -r /home/ec2-user/week0_part_3`

#### 只上傳.dll到vm

`//在先用.sln做一個.dll檔
dotnet publish -c Release -o MVC stylish.sln`   