## ssh
* SSH 是一種安全加密傳輸協定
* 讓使用者或管理者進行遠端連線
### 使用 SSH 連線至遠端的另外一台 Linux 伺服器
- 第一種 : ssh 帳號@主機
`ssh s110321026@lilina.csie.ncnu.esu.tw`
`Passwd : ...`
- 第二種 : ssh 帳號@IP
`ssh s110321026@163.22.17.162`
`Passwd : ...`
- 找 ip -> 打指令 `ip a`
:::spoiler 圖片



:::
### ssh-keygen 遠端連線不用密碼
[連結1](http://linuxproblem.org/art_9.html)
[連結2](https://blog.gtwang.org/linux/linux-ssh-public-key-authentication/)
- 產生金鑰
`ssh-keygen`
- 一直 enter
- 若成功,到 `.ssh `查看會新增一些檔案 : id_rsa、id_rsa.pub
`cd .ssh`
> - id_rsa.pub:公開金鑰(public key),這是可以對外公開的金鑰,之後要將它放在遠端的 Linux 伺服器上作認證使用。
> - id_rsa:私密金鑰(private key),這是要保護好的金鑰,它等同於你的 Linux 密碼,放在自己的電腦中。
- 在遠端也建立 .ssh 檔
`ssh 帳號@lilina.csie.ncnu.edu.tw mkdir -p .ssh`
- 將本機的 id_rsa.pub 新增到遠端 ~/.ssh/authorized_keys ,並進行最後一次密碼輸入
> windows
`type .ssh/id_rsa.pub | ssh 帳號@lilina.csie.ncnu.edu.tw "cat >> .ssh/authorized_keys"`
> linux、MacOS
`cat .ssh/id_rsa.pub | ssh 帳號@lilina.csie.ncnu.edu.tw "cat >> .ssh/authorized_keys"`
- 如果覺得名字(帳號@主機)太長...
- 到 .ssh 底下
`cd .ssh`
- 新增檔案(這裡我命名為 config)
> windows `notepad config`
> linux、macOS `vim config`
- 編輯格式
```
Host NCNU
Hostname lilina.csie.ncnu.edu.tw
User s110321026
Port 22
```
> 將來如果要該改,就可以在這裡直接改
:::spoiler 圖片





:::
### 遠端執行指令,執行完後離開
`ssh 帳號@lilina.csie.ncnu.edu.tw ls -l`
