|
|
|||||||
ชื่อเรื่อง : การใช้ ssh โดยไม่ต้องใส่รหัสผ่าน
เรียบเรียงโดย : อัมรินทร์ เผ่าสวัสติ์,
ชวลิต ทินกรสูติบุตร และ ดร.
บรรจง หะรังษี
เรียบเรียงเมื่อ : 19 เมษายน 2547
แก้ไข : 2 พฤษภาคม 2547
กล่าวนำ
ปัจจุบัน ssh เป็นโปรแกรมที่เป็นที่นิยมกันในการติดต่อกับเครื่องระยะไกล (remote access) เพราะมีความปลอดภัยกว่าโปรแกรม rlogin เดิมที่เคยใช้อยู่ โดยใช้กลไกการเข้ารหัสเข้าช่วยในการสร้างความปลอดภัย ทำให้บุคคลที่สามอ่านข้อความที่ส่งผ่านไปผ่านมาระหว่างเครื่องได้ไม่ง่ายนัก
แต่ถึงแม้จะมีการเข้ารหัสก็ตาม ผู้ใช้ ssh ก็ยังต้องส่งรหัสผ่านไปให้เครื่องปลายทาง ซึ่งการส่งรหัสผ่านข้ามอินเตอร์เน็ตเป็นสิ่งที่ยังเสี่ยงอยู่ถึงแม้ว่าจะเข้ารหัสแล้วก็ตาม ดังนั้นโปรแกรม ssh จึงมีอีกวีธีหนึ่งที่ไม่ต้องส่งรหัสผ่านข้ามอินเตอร์เน็ตแต่ใช้กลไกที่เรียกว่า key authentication แทน จึงเป็นการเพิ่มความปลอดภัยให้แก ssh ได้อีกขั้นหนึ่ง
สำหรับการใช้งาน ssh เบื้องต้น ดูได้จาก เอกสารอ้างอิง [1] และเอกสารอ้างอิง [2]
หมายเหตุ เนื้อหาในเอกสารนี้ทดสอบบน whitebox linux 3.0 และ openSSH 3.6.1p2 และคำสั่งทุกคำสั่งทำงานบน bash shell
การสร้าง key ของ ssh
ใน ssh มีอัลกอริทึม (algorithm) 2 ชนิด ในการสร้าง key ได้แก่ RSA และ DSA ซึ่งทั้งคู่เป็น key ประเภท public key กล่าวคือ key ในการเข้ารหัส และ key ในการถอดรหัสเป็นคนละตัวกัน (เรียกว่า public key และ private key)
เนื้อหาโดยรวม
1. การใช้ Key Authentication ของ ssh
2. การใช้ ssh-agent เพื่อจะได้ไม่ต้องใส่ passphrase ทุกครั้งที่ใช้ ssh
3. การใช้ keychain เพื่อแก้ปัญหาที่เกิดกับ ssh-agent
4. การเพิ่มความปลอดภัยให้ ssh โดยการทำ agent forwarding
5. การใช้ ssh ใน windows
1. การใช้ Key Authentication ของ ssh
ชื่อที่ใช้ในเอกสารนี้
เพื่อให้เข้าใจง่ายขึ้น
- เครื่องของผู้ใช้ว่า home และมีชื่อผู้ใช้คือ userAtHome
- เครื่องที่อยู่ระยะไกลว่า office และมีชื่อผู้ใช้คือ userAtOfficeขั้นตอนการใช้ Key Authentication ของ ssh มีดังนี้
1.1 สร้าง public key และ private key ที่เครื่อง home
1.2 คัดลอก public key ไปที่เครื่อง office
1.3 ตั้งค่า ssh_config ที่เครื่อง home ให้ถูกต้อง
1.4 ตั้งค่า sshd_config ที่เครื่อง office ให้ถูกต้องรายละเอียดของแต่ละขั้นตอนมีดังนี้
1.1 สร้าง public key และ private key ที่เครื่อง home
การสร้าง key ทำได้โดยใช้คำสั่ง ssh-keygen ดังนี้
- ถ้าต้องการใช้ RSA ในการสร้างใช้คำสั่ง
# ssh-keygen -t rsa
- ถ้าต้องการใช้ DSA ในการสร้างใช้คำสั่ง
# ssh-keygen -t dsa
ขั้นต่อมาให้เลือกว่าจะเก็บ key ที่สร้างขึ้นมาไว้ที่ไหน
- ถ้ากด enter โดยไม่ใส่อะไรเลย key จะถูกสร้างขึ้นที่ ~/.ssh/ (หมายความว่าถ้าเป็นผู้ใช้ทั่วไปจะสร้างที่ /home/ชื่อผู้ใช้/.ssh/ หรือถ้าเป็น root จะสร้างที่ /root/.ssh/) และจะมี public key ชื่อ id_rsa.pub (หรือ id_dsa.pub) และจะมี private key ชื่อ id_rsa (หรือ id_dsa)
ขั้นต่อมาให้ใส่ passphrase ซึ่งก็คือรหัสที่จะใช้ป้องกัน key (ควรใส่ passphrase ที่เดายากเพื่อป้องกันคนที่ขโมย key ไป ให้เดาไม่ได้)
หมายเหตุ passphrase จะต้องยาวกว่า 4 ตัวอักษร มิฉะนั้น ssh-keygen จะไม่สร้าง key ให้ตัวอย่างหน้าจอขั้นตอนต่างๆ เป็นดังนี้
[userATHome@home userAtHome]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/userAtHome/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/userAtHome/.ssh/id_rsa.
Your public key has been saved in /home/userAtHome/.ssh/id_rsa.pub
The key fingerprint is:
4a:0d:34:8a:15:3c: 1e:9d:d8:ca:23:00:a0:b9:aa:d7เมื่อสร้าง key แล้ว จะต้องแน่ใจว่า private key จะต้องมีแต่เจ้าของที่อ่านได้ ควรตั้งค่า permission เป็น 600 ส่วน public key จะต้องแน่ใจว่าผู้อื่นนอกจากเจ้าของจะเขียนไม่ได้ ควร set permission เป็น 644 ใช้คำสั่งดังนี้
# chmod 600 id_rsa
# chmod 644 id_rsa.pubเสร็จสิ้นการสร้าง key
1.2 คัดลอก public key ไปที่เครื่อง office
การที่จะคัดลอก public key ไปที่เครื่อง office ได้ จะต้องเป็นผู้ใช้ในเครื่อง office ก่อน ในเอกสารนี้ ชื่อผู้ใช้ได้แก่ userAtOffice ดังที่ได้กล่าวไว้ข้างต้นแล้ว
การคัดลอก public key ไปที่เครื่อง office ทำดังนี้
scp ~/.ssh/id_rsa.pub userAtOffice@office:
หมายเหตุ
- คำสั่ง scp เป็นคำสั่งในการคัดลอกไฟล์ไปยังเครื่องระยะไกลด้วยวิธีการเข้ารหัส ซึ่งปลอดภัย ความหมายของคำสั่งข้างต้นได้แก่ ให้คัดลอกไฟล์ชื่อ id_rsa.pub ที่อยู่ใน ~/.ssh/ ไปที่ /home/userAtOffice/ ของเครื่อง office
- ในกรณีที่ใช้ชื่ออื่นหรือตำแหน่งอื่นให้ใส่ที่อยู่ให้ถูกต้องแทน ~/.ssh/id_rsa.pubการคัดลอก public key ไปที่ office อย่างเดียวไม่พอ จะต้องเพิ่ม public key เข้าไปในไฟล์ที่ชื่อว่า authorized_keys ซึ่งต้องเก็บไว้ที่ ~/.ssh/ ของเครื่อง office
การเพิ่ม publice key เข้าไปในไฟล์จะต้อง log in เข้าเครื่อง office ก่อน ด้วยวิธีดังนี้
ssh userAtOffice@office
จากนั้นใส่รหัสผ่านของ userAtOffice
หลังจาก log in สำเร็จ ทำดังนี้
mkdir .ssh
เป็นการสร้างไดเรคทอรีชื่อ .ssh เพราะตอนแรกยังไม่มีไดเรคทอรีนี้
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
เป็นการเพิ่มเนื้อหาที่อยู่ในไฟล์ id_rsa.pub ไปต่อท้ายเนื้อหาที่อยู่ในไฟล์ authorized_keys (เป็นการเพิ่ม public key เข้าไปในไฟล์ authorized_keys นั่นเอง)
จากนั้นให้ตรวจสอบค่า permission ของ ~/.ssh/ และ ~/.ssh/authorized_keys ให้ถูกต้อง กล่าวคือ จะมี permission อย่างไรก็ได้ มีข้อแม้คือ ห้ามอนุญาต group และ others ให้มี write permission (เฉพาะเจ้าของคนเดียวที่มี write permission ได้)
ค่าที่เหมาะสมได้แก่ 744 สำหรับทั้ง 2 ไฟล์ ใช้คำสั่งดังนี้
chmod 744 ~/id_rsa.pub
chmod 744 ~/.ssh/authorized_keysหมายเหตุ ถ้าค่า permission ไม่ถูกต้อง จะทำให้ ssh ไม่อนุญาตให้ใช้ key แต่จะกลับไปใช้รหัสผ่านแทน เพื่อความปลอดภัย
1.3 ตั้งค่า ssh_config ที่เครื่อง home ให้ถูกต้อง
การที่จะให้ ssh ติดต่อกับอีกเครื่องหนึ่งโดยใช้ key จะต้องระบุตำแหน่งและชื่อของ private key ที่อยู่ในเครื่อง home ให้ถูกต้องก่อน มิฉะนั้น ssh จะถือว่า ไม่มี private key และจะทำการติดต่อโดยวิธีธรรมดา (วิธีใส่รหัสผ่าน)
การปรับค่าต่างๆใน ssh_config จะต้อง log in เป็น root ก่อนถึงจะทำได้
ในไฟล์ /etc/ssh/ssh_config ให้ปรับค่าดังนี้
RSAAuthentication yes
IdentityFile ~/.ssh/id_rsa
IdentityFile ~/.ssh/id_dsa
IdentityFile ~/.ssh/identityถ้ามี private key อื่นๆ หรือต้องการให้ key อยู่ตำแหน่งอื่นก็ระบุเพิ่มได้
1.4 ตั้งค่า sshd_config ที่เครื่อง office ให้ถูกต้อง
นอกจากจะต้องปรับ ssh_config ที่เครื่อง home แล้ว ยังต้องปรับ sshd_config ที่เครื่อง office ด้วย เพื่อให้ ssh รู้ว่าจะใช้การติดต่อแบบ key authentication
ในไฟล์ /etc/ssh/sshd_config ให้ปรับค่าดังนี้
RSAAuthentication yes
PublickeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keysหลังจากตั้งค่าข้อ 1.1 - 1.4 ครบแล้วก็เริ่มใช้ ssh แบบ key authentication ได้ดังนี้
ใส่คำสั่ง
ssh userAtOffice@office
จากนั้น ssh จะให้ใส่ passphrase ซึ่งเป็นรหัสที่ใช้ตอนสร้าง key รหัสนี้เพียงแต่ป้องกันผู้ที่ไม่ใช่เจ้าของ key นำ key ไปใช้ ฉะนั้นจะไม่มีการส่งรหัสนี้ข้ามอินเตอร์เน็ตแต่อย่างใด การใช้ key authentication จึงปลอดภัยกว่าการใช้รหัสผ่านธรรมดา
เมื่อใส่ passphrase แล้ว ก็ใช้ ssh ได้อย่างปกติ
2. การใช้ ssh-agent เพื่อจะได้ไม่ต้องใส่ passphrase ทุกครั้งที่ใช้ ssh
เนื่องจากการใช้ ssh แต่ละครั้ง ถึงแม้ว่าจะไม่ต้องใส่รหัสผ่าน แต่ก็ต้องใส่ passphrase อยู่ดี ดังนั้นเพื่อความสะดวก จึงมีโปรแกรมชื่อ ssh-agent เพื่อใช้ในการจัดการ key โดย ssh-agent จะเก็บ private key ไว้ในแคช (cache) แล้วเวลาเรียก ssh ครั้งต่อไป จะใช้ private key ที่อยู่ในแคช จึงไม่ต้องใส่ passphrase อีกครั้ง
วิธีใช้ ssh-agent
เมื่อใส่คำสั่ง ssh-agent จะมีหน้าจอปรากฏดังนี้
[userAtHome @ home userAtHome]$ ssh-agent
SSH_AUTH_SOCK=/tmp/ssh-JHuV3394/agent.3394;export SSH_AUTH_SOCK;
SSH_AGENT_PID=3395; export SSH_AGENT_PID;
echo Agent pid 3395;จะเห็นหน้าจอเป็นคำสั่ง bash หลายๆคำสั่ง เพื่อตั้งตัวแปร 2 ตัวซึ่งบอกวิธีการติดต่อกับโปรแกรม ssh-agent แต่ที่เห็นบนหน้าจอเป็นเพียงการแสดงผลบนหน้าจอ ถ้าจะให้ bash อ่านการแสดงผลนั้นเพื่อตีความเป็นคำสั่งจะต้องใช้ คำสั่งนี้
eval `ssh-agent`
หมายเหตุ เป็นเครื่องหมาย back quote ไม่ใช่ single quote
ทางที่ดีควรเพิ่มคำสั่งนี้เข้าไปใน ~/.bash_profile เลย เวลา log in จะได้รันคำสั่งนี้อัตโนมัติ
เมื่อรัน ssh-agent แล้วจะต้องทำการเพิ่ม key เข้าไปในแคช โดยใช้คำสั่งดังนี้
ssh-add ~/.ssh/id_rsa
หมายเหตุ ถ้าชื่อและที่เก็บ key เป็นอย่างอื่นก็เปลี่ยนคำสั่งให้เหมาะสม หรือถ้าต้องการเพิ่มทุกๆ key ก็ใช้คำสั่งดังนี้
ssh-add
ถ้าทุกอย่างถูกต้อง จะได้หน้าจอตัวอย่างดังนี้
[userAtHome @ home userAtHome]$ eval `ssh-agent`
Agent pid 3398
[userAtHome @ home userAtHome]$ ssh-add
Enter passphrase for /home/userAtHome/.ssh/id_rsa:
Identity added: /home/userAtHome/.ssh/id_rsa (/home/userAtHome/.ssh/id_rsa)
Enter passphrase for /home/userAtHome/.ssh/id_dsa:
IDentity added: /home/userAtHome/.ssh/id_dsa (/home/userAtHome/.ssh/id_dsa)แต่ถ้าไม่ได้รัน ssh-agent ถูกวิธี จะเพิ่ม key ไม่ได้ แล้วจะมีหน้าจอดังนี้
[userAtHome @ home userAtHome]$ ssh-add
Could not open a connection to your authentication agent.เมื่อเพิ่ม key เรียบร้อยแล้ว สามารถใช้ ssh ได้ โดยไม่ต้องใส่แม้แต่ passphrase เลย
ข้อจำกัดของ ssh-agent
- ทุกครั้งที่ log in จะมี ssh-agent ตัวใหม่ทุกครั้ง และยังจะต้องเพิ่ม key ใหม่ ทุกครั้งอีกด้วย
- งานประเภท cron job ที่สร้างมาจากโปรเซสที่ชื่อ cron จะมองไม่เห็นตัวแปรที่ ssh-agent สร้างขึ้นมา เพราะงานพวก cron job ไม่ได้เกิดจากโปรเซสที่ชื่อ bash จึงไม่ได้รับสืบทอดตัวแปรมา เมื่อมองไม่เห็นตัวแปร ก็ติดต่อกับ ssh-agent ไม่ได้ (ตัวแปรบอกวิธีติดต่อกับ ssh-agent)
3. การใช้ keychain เพื่อแก้ปัญหาที่เกิดกับ ssh-agent
keychain เป็นโปรแกรมที่แก้ปัญหาของ ssh-agent ได้โดย ควบคุมให้มี ssh-agent เพียงโปรเซสเดียว (ไม่สร้าง ssh-agent ขึ้นมาซ้ำ) ต่อการเปิดใช้ linux 1 ครั้ง กล่าวคือถึงแม้ว่าจะ log out แล้ว log in เข้ามาใหม่ แต่ยังไม่ได้ restart เครื่อง ก็จะใช้ ssh-agent ตัวเดิม และยังควบคุมให้เพิ่ม key เข้าไปในแคช เฉพาะ key ที่ยังไม่ได้อยู่ในแคช เท่านั้น
การทำงานของ keychain
keychain จะตรวจว่ามี ssh-agent รันอยู่ก่อนหรือเปล่า ถ้าไม่มีก็สร้างใหม่ จากนั้นก็เก็บค่าตัวแปรไว้ในไฟล์ ~/.keychain/${HOSTNAME}-sh เพื่อใช้ในอนาคต หรือใช้โดยโปรเซสอื่น (เช่น cron) ซึ่งถ้าโปรเซสอื่นต้องการติดต่อกับ ssh-agent ก็เพียงแต่ใช้คำสั่ง source ~/.keychain/${HOSTNAME}-sh ก่อน เท่านั้น
การ install keychain
ไปที่เอกสารอ้างอิง [3] เพื่อดาวน์โหลด keychain และทำตามขั้นตอนที่บอกไว้ในโฮมเพจนั้นได้เลย
เตรียมตัวใช้ keychain
ก่อนจะเริ่มใช้ keychain ต้องใส่คำสั่งเหล่านี้เข้าไปในไฟล์ ~/.bash_profile บรรทัดบนสุด
keychain ~/.ssh/identity ~/.ssh/id_rsa ~/.ssh/id_dsa
คำสั่งนี้เป็นการเริ่ม keychain แล้วเพิ่ม key 3 ตัว ตามตำแหน่งที่ระบุ เข้าไปในแคช
source ~/.keychain/${HOSTNAME}-sh
เป็นการอ่านไฟล์ ~/.keychain/${HOSTNAME}-sh ออกมาเป็นคำสั่ง จะได้ผลเหมือนรัน ssh-agent (ได้ตัวแปร 2 ตัว) แต่ต่างกันตรงที่โปรเซสอื่น (เช่น cron) ก็อ่านไฟล์นี้เพื่อติดต่อกับ ssh-agent ได้เช่นกัน
เริ่มใช้ keychain
ให้ log in เข้ามาใหม่ โปรแกรม keychain จะเริ่มทำงาน แล้วถ้ารันเป็นครั้งแรกตอนเปิดเครื่องจะต้องใส่ passphrase สำหรับ key ต่างๆที่เรากำหนดไว้ เมื่อใส่แล้ว ก็ใช้ ssh ได้เลย โดยไม่ต้องใส่รหัสหรือ passphrase และถึงแม้ว่าจะ log out และ log in เข้ามาใหม่ ก็ไม่ต้องใส่ passphrase ใหม่ จะใส่ passphrase ใหม่ ก็เฉพาะตอนรีสตาร์ทเครื่อง
ตัวอย่างหน้าจอตอน log in ครั้งแรกเป็นดังนี้
KeyChain 2.0.2; http://www.gentoo.org/projects/keychain
Copyright 2002 Gentoo Technologies, Inc.; Distributed under the GPL
* All previous running ssh-agent(s) have been stopped.
* Initializing /home/userAtHome/.keychain/home.localdomain-sh file...
* Initializing /home/userAtHome/.keychain/home.localdomain-csh file...
* Starting new ssh-agent
* 2 more keys to add...
Enter passphrase for /home/userAtHome/.ssh/id_rsa:
Identity added: /home/userAtHome/.ssh/id_rsa (/home/userAtHome/.ssh/id_rsa)
Enter passphrase flr /home/userAtHome/.ssh/id_dsa:
Identity added: /home/userAtHome/.ssh/id_dsa (/home/userAtHome/.ssh/id_dsa)ตัวอย่างหน้าจอตอน log in ครั้ง ต่อๆมาเป็นดังนี้
Keychain 2.0.2; http://www.gentoo.org/projects/keychain
Copyright 2002 Gentoo Technologies, Inc.; Distributed under the GPL
* Found existing ssh-agent at PID 2678Option สำหรับ keychain
keychain มี option หลายอย่าง สามารถดูได้โดยพิมพ์คำสั่ง
keychain --help
แต่มี option ที่สำคัญได้แก่ --clear
ถ้าใส่ --clear แล้ว ทุกๆครั้งที่ log in โปรแกรม keychain จะลบ key ที่อยู่ในแคชให้หมด แล้วต้องใส่ passphrase ใหม่อีกครั้ง
การกระทำเช่นนี้คล้ายๆกับการใช้ ssh-agent ธรรมดา แต่มีข้อดีหลายอย่าง ได้แก่ งานพวก cron ยังทำงานได้อยู่ เพราะ key ไม่ได้หายไปตอน log out แต่ key จะหายไปเพียงตอน log in ซึ่งตอน log out งานพวก cron ยังทำงานอยู่ ดังนั้น option นี้เหมาะสมกับเครื่อง server ที่ log in เข้าไปไม่บ่อย หรือทำงานประเภทแบคอัพเซิร์ฟเวอร์ ไฟร์วอลล์ และ เราท์เตอร์
4. การเพิ่มความปลอดภัยให้ ssh โดยการทำ agent forwarding
ก่อนที่จะเข้าเรื่อง agent forwarding ควรจะรู้ความหมายของคำศัพท์ดังนี้
เครื่อง trusted คือ เครื่องที่มีความปลอดภัยในระดับที่ไว้ใจได้ มีผู้ใช้จำกัดจำนวนที่เชื่อถือได้ และ root ถูกเจาะได้ยาก
เครื่อง untrusted คือ เครื่องที่มีผู้ใช้จำนวนมากและไม่มั่นใจในเรื่องความปลอดภัยการที่จะใช้ ssh-agent หรือ keychain บนเครื่อง untrusted เป็นเรื่องที่เสี่ยง เพราะ ผู้ประสงค์ร้ายอาจใช้วิธีการต่างๆในการพยายามนำ key ที่อยู่ในแคชมาใช้ให้ได้ ฉะนั้นเพื่อความปลอดภัยสูงที่สุด ควรมี ssh-agent และ keychain รันอยู่เพียงเครื่องเดียว และเครื่องนั้นต้องเป็นเครื่อง trusted ด้วย
แต่ก็มีปัญหาตามมาก็คือ ถ้ามี ssh-agent เพียงเครื่องเดียว เครื่องอื่นก็จะใช้ ssh แบบไม่ต้องใส่รหัสผ่าน ไม่ได้ ทางออกที่ดีคือการทำสิ่งที่เรียกว่า agent forwarding
อธิบาย agent forwarding
- ให้เครื่อง trusted ชื่อ เครื่อง SECURED เป็นเครื่องที่มี ssh-agent และ keychain
- ให้เครื่อง untrusted ชื่อ เครื่อง VULNERABLE ไม่มี ssh-agent หรือ keychainขั้นแรก เครื่อง SECURED ใช้ ssh ทำการ log in เข้าเครื่อง VULNERABLE
ต่อมา เครื่อง VULNERABLE ใช้ ssh ทำการ log in เข้าเครื่องอื่นต่อ โดยไม่ต้องใส่รหัสผ่าน เพราะถือว่าใช้ ssh-agent ของเครื่อง SECURED
นี่คือการทำ agent forwarding
ถ้าไม่มีการทำ agent forwarding แล้วขั้นตอนที่เครื่อง VULNERABLE จะทำการ log in เข้าเครื่องอื่นต่อ จะต้องใส่รหัสผ่าน เพราะถือว่าไม่มี ssh-agent อยู่
การทำ agent forwarding
วิธีทำ agent forwarding ทำได้โดย การเพิ่มบรรทัดนี้เข้าไปในไฟล์ /etc/ssh/ssh_config ของเครื่อง VULNERABLE ดังนี้
ForwardAgent yes
ความปลอดภัยของ agent forwarding
การใช้ agent forwarding เป็นการเพิ่มความปลอดภัยให้ ssh ได้ดังนี้
- ป้องกันคนขโมย private key จากดิสค์ในเครื่อง เพราะ private key อยู่บนเครื่อง SECURED ซึ่งถูกเจาะได้ยาก
- ป้องกันคนขโมย private key จากแคช เพราะ แคชอยู่บนเครื่อง SECURED
- ป้องกันโปรแกรมบนเครื่อง VULNERABLE ดักฟังการกดคีย์เวลาใส่ passphrase เพราะใส่ passphrase เพียงครั้งเดียว บนเครื่อง SECURED
5. การใช้ ssh สำหรับ windows
สำหรับการใช้ ssh ใน windows สามารถหา ssh client มาใช้ได้โดยดาวน์โหลดมาจาก เอกสารอ้างอิง [5] หรือ เอกสารอ้างอิง [6] ได้ และสามารถใช้ key authentication ได้ด้วย แต่สำหรับการใช้ ssh-agent และ keychain ในขณะนี้ ยังไม่มีเวอร์ชันสำหรับ windows
บทส่งท้าย
การใช้ ssh แบบ key authentication มีความปลอดภัยมากกว่าการใช้รหัสผ่านแบบเดิม เพราะไม่มีการส่งรหัสข้ามอินเตอร์เน็ต แต่ใส่ passphrase เพื่อป้องกัน key เท่านั้น และเพื่อความสะดวก ถ้าไม่ต้องการใส่ passphrase ทุกครั้งที่ใช้ ssh ก็อาจใช้โปรแกรม ssh-agent เข้ามาช่วยอีกด้วย และมากไปกว่านั้น ถ้าไม่ต้องการใส่ passphrase ทุกครั้งที่ log in ก็ใช้โปรแกรม keychain ได้ แต่เพื่อความปลอดภัยโปรแกรม ssh-agent และ keychain ต้องอยู่บนเครื่องที่มีความปลอดภัย และถ้าต้องการใช้ ssh-agent บนเครื่องที่ไม่ปลอดภัย ให้ใช้กลไกการทำ agent forwarding แทน
เอกสารอ้างอิง
| Home
|| เอกสารเผยแพร่ || Encryption
ThaiCERT Disclaimer | Copyright © 2001 ThaiCERT(NECTEC). All rights reserved. |