วิธีคัดลอกคีย์ SSH

How Copy Ssh Keys



SSH เป็นเครื่องมือสำคัญเมื่อพูดถึงงานที่ต้องทำในเซิร์ฟเวอร์อื่น คุณสามารถย้ายไฟล์ ซิงค์โฟลเดอร์ ย้ายบัญชีและไฟล์เซิร์ฟเวอร์ คัดลอกข้อมูลสำรอง ฯลฯ มีการใช้งานมากมายสำหรับ SSH และความสำคัญของคีย์ SSH คือเมื่อมีกระบวนการซ้ำๆ ที่ต้องทำในช่วงเวลาสั้นๆ เช่น การคัดลอกไฟล์หรือโฟลเดอร์บางไฟล์ , ผู้ใช้หลายคน, หลายโฟลเดอร์, หลายบัญชี, การสำรองข้อมูล cpanel ฯลฯ และในกรณีนี้ มันจะน่าเบื่อและใช้เวลานานมาก หากคุณต้องให้รหัสผ่าน ssh ทุกครั้งที่ถาม การมีการตั้งค่าคีย์ SSH ของคุณสามารถป้องกันความจำเป็นในการป้อนรหัสผ่านด้วยตนเองสำหรับแต่ละงาน

ในการตั้งค่าคีย์ SSH ระหว่างสองเซิร์ฟเวอร์ เราต้องทำตามขั้นตอนเหล่านี้:







สร้างคู่คีย์บนเซิร์ฟเวอร์ต้นทาง เมื่อเราให้คำสั่ง ssh-keygen มันจะสร้างคู่คีย์ RSA 2048 บิตตามค่าเริ่มต้น และถ้าคุณต้องการการเข้ารหัสที่แข็งแกร่งกว่านี้ คุณสามารถใช้ 4096 บิตได้เช่นกัน เพื่อที่คุณจะต้องใช้ -b 4096 ในการสิ้นสุดคำสั่ง ssh-keygen ฉันใช้ค่าเริ่มต้นที่นี่



สองสิ่งที่ต้องดูแลในผลลัพธ์ด้านล่าง:



ในบรรทัด ป้อนไฟล์ที่จะบันทึกคีย์ |_+_|





กำลังขอเส้นทางเพื่อบันทึกคีย์และค่าเริ่มต้นก็ใช้ได้ตามปกติ หากค่าดีฟอลต์เป็นค่าปกติ คุณสามารถกด Enter หากคุณต้องการลองใช้เส้นทางอื่น คุณต้องระบุเส้นทางเดิมที่นั่น บางครั้งสิ่งนี้จะพูดว่า:

/ราก/.ssh/id_rsa มีอยู่แล้ว เขียนทับ(และ/NS)?

คุณควรทำสำเนาของโฟลเดอร์ .ssh ก่อนทำการเปลี่ยนแปลงใดๆ หรือควรรู้ว่าคุณกำลังทำอะไรอยู่ การส่ง Yes จะทำให้รหัสเก่า (หากใช้งานอยู่แล้ว ) ไม่ทำงาน



ในบรรทัด ป้อนข้อความรหัสผ่าน (ว่างเปล่าสำหรับไม่มีข้อความรหัสผ่าน): นี่เป็นขั้นตอนการรักษาความปลอดภัยเพิ่มเติมซึ่งจะถามข้อความรหัสผ่านในแต่ละครั้งเมื่อคุณพยายามเข้าสู่ระบบ SSH และจะทำหน้าที่เป็นการยืนยันแบบ 2 ขั้นตอน แต่ถ้าคุณต้องการการเข้าถึง ssh สำหรับสคริปต์ใด ๆ หรืองานตรงอื่น ๆ และงานที่รวดเร็ว ไม่ควรมีสิ่งนี้จะดีกว่า นอกเหนือจากการเขียนสคริปต์หรือการทำงานอัตโนมัติ เราขอแนะนำให้คุณมีสิ่งนี้อย่างแน่นอน

ผลลัพธ์ทั้งหมดของคำสั่งสำหรับการอ้างอิง:

[ป้องกันอีเมล] :~$ssh-keygen
สร้างสาธารณะ/คู่คีย์ rsa ส่วนตัว
เข้าไฟล์ ใน ที่เพื่อบันทึกคีย์(/ราก/.ssh/id_rsa):
สร้างไดเร็กทอรี'/root/.ssh'.
ใส่ข้อความรหัสผ่าน(ว่างเปล่าสำหรับไม่มีข้อความรหัสผ่าน):
ป้อนข้อความรหัสผ่านเดิมอีกครั้ง:
ข้อมูลประจำตัวของคุณได้รับการบันทึกแล้วใน /ราก/.ssh/id_rsa
คีย์สาธารณะของคุณได้รับการบันทึกแล้วใน /ราก/.ssh/id_rsa.pub.
ลายนิ้วมือที่สำคัญคือ:
SHA256:z4nl0d9vJpo/5bdc4gYZh8nnTjHtXB4Se/UqyuyigUI สุเมช@ศรี

กุญแจภาพ randomart ของคือ:

+---[RSA 2048]----+
| |
| . .
| . oo.o |
| .=o=o+|
| E S o. * OBo |
| . . * หรือ +. +. = |
| . . . .o=. =ooo|
| . .. + o*.B|
| ..โอ. o + oB + |
+----[SHA256] -----+
[ป้องกันอีเมล] ~$

ขั้นตอนที่ 2 : คัดลอกคู่คีย์ที่สร้างนี้ไปยังเซิร์ฟเวอร์ปลายทางของคุณ

มี 2 ​​วิธีในการคัดลอกสิ่งนี้ไปยังเซิร์ฟเวอร์ปลายทางของคุณ

  • การใช้คำสั่ง ssh-copy-id
  • คัดลอกคีย์ ssh โดยใช้ผู้ใช้ ssh ปกติ/ส่งเป็นซับเดียวจากเครื่องท้องถิ่นของเราหรือหลังจากลงชื่อเข้าใช้เซิร์ฟเวอร์

2.1 การใช้คำสั่ง ssh-copy-id

ssh-copy-id จะจัดการการคัดลอกและตั้งค่าคีย์ไปยังเซิร์ฟเวอร์ระยะไกลด้วยวิธีที่เหมาะสมสำหรับคุณ เมื่อคำสั่งเสร็จสิ้น คุณไม่จำเป็นต้องมีรหัสผ่านสำหรับการเข้าสู่ระบบแต่ละครั้ง ตอนนี้คุณสามารถเขียนสคริปต์อัตโนมัติทั้งหมดของคุณสำหรับการทำงานของผู้ดูแลระบบโดยไม่ต้องป้อนรหัสผ่านด้วยตนเอง และประหยัดเวลาในการเข้าถึงระบบที่คุณใช้ตลอดเวลาในแต่ละวัน

ก่อนอื่น คุณต้องตรวจสอบว่ามีคำสั่งเช่นนี้หรือไม่ และหากคำสั่งนั้นใช้งานได้ และผู้ใช้ที่คุณกำลังพยายามเข้าถึงคำสั่งนี้อยู่หรือไม่ คุณสามารถใช้คำสั่งนี้เพื่อคัดลอกกุญแจสาธารณะไปยังเซิร์ฟเวอร์ระยะไกลได้ ยูทิลิตีนี้จะสแกนบัญชีในเครื่องของคุณเพื่อหาคีย์สาธารณะ rsa และจะแจ้งให้คุณใส่รหัสผ่านของบัญชีผู้ใช้ระยะไกล

ที่นี่เราจะคัดลอกคีย์ root ssh ไปยังการเข้าถึงระดับรากของเซิร์ฟเวอร์ ดังนั้นเพื่อให้ได้สำเนานี้ คุณต้องเข้าสู่ระบบ / เปลี่ยนเป็นผู้ใช้ที่คุณสร้างคีย์ ในกรณีนี้ เรากำลังพยายามเชื่อมต่อรูท-รูท

ผลลัพธ์เต็มอยู่ด้านล่างและฉันกำลังเพิ่มรายละเอียดที่จำเป็นในระหว่างนั้น

ราก@แหล่งที่มา]]:~$ ssh-copy-id root@192.1.1.19-NS พ.ศ. 2529
ความถูกต้องของโฮสต์'[192.1.1.19]: 1986 ([192.1.1.19]: 1986)'สามารถไม่ได้รับการจัดตั้งขึ้น
ลายนิ้วมือคีย์ ECDSA คือ SHA256:YYOj54aEJvIle4D2osDiEhuS0NEDImPTiMhHGgDqQFk
คุณแน่ใจหรือว่าต้องการเชื่อมต่อต่อ (ใช่/ไม่ใช่) ใช่

หากคุณใช้งานเป็นครั้งแรก คุณจะได้รับคำตอบดังกล่าว และคุณต้องพิมพ์ใช่ จากนั้นกด Enter

/usr/เป็น/ssh-copy-id: INFO: กำลังพยายามเข้าสู่ระบบในด้วยคีย์ใหม่(NS),
เพื่อกรองสิ่งที่ติดตั้งไว้แล้วออกไป

/usr/เป็น/ssh-copy-id: ข้อมูล:1กุญแจ(NS)ยังคงต้องติดตั้ง- ถ้าคุณได้รับแจ้ง
ตอนนี้มันเป็นไปติดตั้งกุญแจใหม่

ราก@192.1.1.19รหัสผ่าน:

ใส่รหัสผ่านแล้วกด Enter

จำนวนคีย์(NS)เพิ่ม:1

ตอนนี้ลองลงชื่อเข้าใช้เครื่องด้วย: ssh -p '1986' ' [email protected] ′
และตรวจสอบให้แน่ใจว่าทำงานได้ตามที่คาดไว้

หลังจากนี้ คุณจะสามารถเข้าสู่ระบบเซิร์ฟเวอร์ได้โดยไม่ต้องใช้รหัสผ่าน เมื่อรหัสผ่านใช้การพิสูจน์ตัวตนน้อยลงแล้ว คุณสามารถปิดการตรวจสอบรหัสผ่านเพื่อให้คุณสามารถล็อกการเข้าถึง ssh ได้โดยใช้คีย์ ssh

2.2 การคัดลอกคีย์ ssh โดยใช้ผู้ใช้ ssh ปกติ/ส่งด้วยตนเอง

หากบางวิธีที่คุณไม่สามารถทำให้คำสั่งดังกล่าวทำงานได้ ฉันจะเพิ่มขั้นตอนเพื่อให้คุณสามารถคัดลอกคีย์ ssh และรหัสผ่านการตั้งค่าได้น้อยกว่าการรับรองความถูกต้องจากเครื่องของคุณไปยังเซิร์ฟเวอร์ของคุณ

ในการดำเนินการนี้ เราต้องต่อท้ายเนื้อหาของไฟล์ id_rsa.pub ของคุณกับไฟล์ /root/.ssh/authorized_keys บนเครื่องปลายทางของคุณ หากคุณกำลังจะคัดลอกคีย์ไปยังผู้ใช้รูท ตำแหน่งจะเป็น |_+_|

จากขั้นตอนที่ 1 : คุณอาจเห็นบรรทัดด้านล่าง

คีย์สาธารณะของคุณถูกบันทึกไว้ใน |_+_|

นี่บอกว่ากุญแจสาธารณะที่คุณต้องคัดลอกไปยังเซิร์ฟเวอร์ระยะไกลนั้นอยู่ในไฟล์ด้านบน ดังนั้นคุณต้องคัดลอกเนื้อหาของไฟล์นี้แล้วคัดลอกหรือวางลงใน Author_keys ของเซิร์ฟเวอร์ระยะไกล

ทำตามขั้นตอนด้านล่าง

คำสั่งด้านล่างจะให้คีย์ที่จะคัดลอก:

[ป้องกันอีเมล] $แมว /ราก/.ssh/id_rsa.pub

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCqql6MzstZYh1TmWWv11q5O3pISj2ZFl9Hg
H1JLknLLx44+tXfJ7mIrKNxOOwxIxvcBF8PXSYvobFYEZjGIVCEAjrUzLiIxbyCoxVyle7Q+bqgZ
8ดูM8wzytsY+dVGcBxF6N4JS+zVk5eMcV385gG3Y6ON3EG112n6d+SMXY0OEBIcO6x+PnUS
GHrSgpBgX7Ks1r7xqFa7heJLLt2wWwkARptX7udSq05paBhcpB0pHtA1Rfz3K2B+ZVIpSDfki9UV
KzT8JUmwW6NNzSgxUfQHGwnW7kj4jp4AT0VZk3ADw497M2G/12N0PPB5CnhHf7ovgy6nL1ik
rygTKRFmNZISvAcywB9GVqNAVE+ZHDSCuURNsAInVzgYo9xgJDW8wUw2o8U77+xiFxgI5QSZ
X3Iq7YLMgeksaO4rBJEa54k8m5wEiEE1nUhLuJ0X/vh2xPff6SQ1BL/zkOhvJCACK6Vb15mDOeCS
q54Cr7kvS46itMosi/uS66+PujOO+xt/2FWYepz6ZlN70bRly57Q06J+ZJoc9FfBCbCyYH7U/ASsmY0
95ywPsBo1XQ9PqhnN1/YOorJ068foQDNVpm146mUpILVxmq41Cj55YKHEazXGsdBIbXWhcrRf4G
2fJLRcGUr9q8/lERo9oxRm5JFX6TCmj6kmiFqv +Ow9gI0x8GvaQ== รูท@แหล่งที่มา

เข้าสู่ระบบเซิร์ฟเวอร์ระยะไกลที่คุณต้องการคัดลอกคีย์ด้านบนนี้ และตรวจสอบให้แน่ใจว่าคุณใช้ผู้ใช้เดียวกันกับที่คุณต้องการคัดลอกคีย์ ssh หากคุณต้องการการเข้าถึงรูทโดยตรง ให้คัดลอกคีย์ไปที่ /root/.ssh/ section . โดยตรง

สร้างโฟลเดอร์ .ssh หากไม่มีอยู่

เพื่อตรวจสอบว่ามีอยู่หรือไม่และหากไม่ได้สร้างโดยใช้คำสั่งด้านล่าง:

[ป้องกันอีเมล] :$ลส -NS /ราก/.ssh

หากไม่มีโฟลเดอร์ ให้สร้างด้วยคำสั่งด้านล่าง:

[ป้องกันอีเมล] $mkdir -NS /ราก/.ssh
[ป้องกันอีเมล] $สัมผัส /ราก/.ssh/ได้รับอนุญาต_keys

[ป้องกันอีเมล] :$โยนออกssh-rsa
AAAAB3NzaC1yc2EAAAADAQABAAACAQCqql6MzstZYh1TmWWv11q5O3pISj2ZFl9HgH1JLknLLx44 + tXfJ7mIrKNxOOwxI
xvcBF8PXSYvobFYEZjGIVCEAjrUzLiIxbyCoxVyle7Q+bqgZ8SeeM8wzytsY+dVGcBxF6N4JS+zVk5eMcV385gG3Y6ON3
EG112n6d + SMXY0OEBIcO6x + PnUSGHrSgpBgX7Ks1r7xqFa7heJLLt2wWwkARptX7udSq05paBhcpB0pHtA1Rfz3K2B + ZV
IpSDfki9UVKzT8JUmwW6NNzSgxUfQHGwnW7kj4jp4AT0VZk3ADw497M2G/12N0PPB5CnhHf7ovgy6nL1ikrygTKRFmNZI
SvAcywB9GVqNAVE+ZHDSCuURNsAInVzgYo9xgJDW8wUw2o8U77+xiFxgI5QSZX3Iq7YLMgeksaO4rBJEa54k8m5wEiEE1
nUhLuJ0X/vh2xPff6SQ1BL/zkOhvJCACK6Vb15mDOeCSq54Cr7kvS46itMosi/uS66+PujOO+xt/2FWYepz6ZlN70bRly
57Q06J+ZJoc9FfBCbCyYH7U/ASsmY095ywPsBo1XQ9PqhnN1/YOorJ068foQDNVpm146mUpILVxmq41Cj55YKHEazXGsd
BIbXWhcrRf4G2fJLRcGUr9q8/lERo9oxRm5JFX6TCmj6kmiFqv +Ow9gI0x8GvaQ==ราก@แหล่งที่มา>>
/ราก/.ssh/ได้รับอนุญาต_keys

ตรวจสอบให้แน่ใจว่าการอนุญาตของโฟลเดอร์นั้นถูกต้อง

chmod -NS ไป=/ราก/.ssh/

หลังจากนี้ โปรดลองลงชื่อเข้าใช้เซิร์ฟเวอร์จากเทอร์มินัลใหม่ และตรวจสอบให้แน่ใจว่าการตรวจสอบสิทธิ์แบบไม่ใช้คีย์ทำงานตามที่คาดไว้ จากนั้นปิดใช้งานการตรวจสอบรหัสผ่านในการกำหนดค่า ssh

หมายเหตุ: ตรวจสอบให้แน่ใจเป็นสองเท่าว่าคุณสามารถลงชื่อเข้าใช้เซิร์ฟเวอร์ได้ตามต้องการ (ไม่ว่าจะโดยตรงจากเครื่องของคุณหรือคุณสามารถเข้าสู่ระบบไปยังผู้ใช้รายอื่นในเซิร์ฟเวอร์ระยะไกลและเปลี่ยนเป็นรูทจากบัญชีนั้นด้วยตนเองโดยใช้ su หรือ sudo ) จากนั้นเท่านั้น ปิดการใช้งานการตรวจสอบรหัสผ่าน มิฉะนั้น มีโอกาสที่ผู้ใช้รูทจะถูกล็อค

หากคุณมีความต้องการใด ๆ คุณสามารถติดต่อฉันเพื่อขอความช่วยเหลือและแบ่งปันความคิดเห็นของคุณได้ตลอดเวลา