หมวดหมู่: SSH

SSH หรือ Secure Shell คือโปรโตคอลเครือข่ายที่ใช้การเข้ารหัสเพื่อสร้างการเชื่อมต่อที่ปลอดภัยระหว่างคอมพิวเตอร์สองเครื่อง ทำให้สามารถเข้าถึงและจัดการระบบระยะไกลได้อย่างปลอดภัยผ่านเครือข่ายที่ไม่ปลอดภัย โดยมีการใช้งานหลักคือการเข้าสู่ระบบระยะไกล การถ่ายโอนไฟล์ (เช่น SFTP, SCP) และการรันคำสั่งต่างๆ []

GIT: set SSH ClientGIT: set SSH Client

ไฟล์ ~/.ssh/config เป็นไฟล์ที่เก็บ options ของ SSH Client โดยจะช่วยให้การ SSH ง่ายขึ้นแทนการใช้คำสั่งยาว ๆ เช่น แทนที่จะใช้
ssh [email protected] -p 2222 -i ~/.ssh/id_rsa_dev
ก็ใช้ได้แค่
ssh dev-server

ไฟล์ ~/.ssh/config ถูกสร้างขึ้นมา 2 วิธีหลัก ๆ คือ

  1. โดย Sourcetree (หรือโปรแกรม SSH Client อื่น ๆ )
  2. โดยคำสั่ง
    1. cd ~/.ssh
    2. touch config
    3. nano config

เนื้อหาในไฟล์จะเป็นประมาณ

# --- Specific Hosts ---

# --- github.com ---
Host github.com
 AddKeysToAgent yes
 HostName github.com
 IdentityFile /Users/phunsanit/.ssh/phunsanit@GitHub
 PreferredAuthentications publickey
 UseKeychain yes
 User git

# --- General / Defaults / Else ---
Host *
 AddKeysToAgent yes
 UseKeychain yes
 IdentityFile ~/.ssh/id_rsa

โปรแกรมจะเข้ามาอ่านโดยไล่ตาม Host ที่ตรงกัน แล้วถ้าไม่เจอจะเข้าไปใน Host *
โดย IdentityFile จะชี้ไปยัง SSH key ที่ใช้กับ host ที่สร้างไว้ โดย ssh-keygen หรือ key ที่ต้องการใช้

อ่านเพิ่มเติม