สร้างคีย์ ssh:
คำสั่ง:
ssh-keygen -t rsa –P ""
การย้ายคีย์ไปยังคีย์ที่ได้รับอนุญาต:
คำสั่ง:
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
bash: /home/user/.ssh/authorized_keys: No such file or directory
สร้างคีย์ ssh:
คำสั่ง:
ssh-keygen -t rsa –P ""
การย้ายคีย์ไปยังคีย์ที่ได้รับอนุญาต:
คำสั่ง:
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
bash: /home/user/.ssh/authorized_keys: No such file or directory
คำตอบ:
คุณต้องสร้าง.ssh
ไดเรกทอรีและauthorized_keys
ไฟล์ในครั้งแรก
สร้าง.ssh
ไดเรกทอรี:
mkdir ~/.ssh
ตั้งค่าการอนุญาตที่ถูกต้อง:
chmod 700 ~/.ssh
สร้างauthorized_keys
ไฟล์:
touch ~/.ssh/authorized_keys
ตั้งค่าการอนุญาตที่ถูกต้อง:
chmod 600 ~/.ssh/authorized_keys
การอนุญาตมีความสำคัญ! มันจะไม่ทำงานหากไม่มีสิทธิ์ที่ถูกต้อง!
ตอนนี้คุณสามารถเพิ่มกุญแจสาธารณะในauthorized_keys
ไฟล์:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
คุณต้องเพิ่มกุญแจสาธารณะของคอมพิวเตอร์ของคุณไปยังauthorized_keys
ไฟล์ของคอมพิวเตอร์ที่คุณต้องการเข้าถึงโดยใช้ SSH Keys !
ดังที่ terdon กล่าวไว้คุณสามารถใช้คำสั่งนี้:
ssh-copy-id user@host
สิ่งนี้จะใส่id_rsa.pub
(ใน~/.ssh
ไดเรกทอรีของคุณ) ลงในauthorized_keys
ไฟล์ของคอมพิวเตอร์ระยะไกลสร้าง.ssh
ไดเรกทอรีและauthorized_keys
ไฟล์ด้วยสิทธิ์ที่ถูกต้องหากจำเป็น
cat
มันว่าเป็นสิ่งที่ssh-copy-id
เป็น
ในกรณีที่คุณได้รับกุญแจสาธารณะในอีเมลเพื่อติดตั้งไปยังเซิร์ฟเวอร์ระยะไกล:
1) SSH เข้าสู่เซิร์ฟเวอร์ ฉันใช้ PuTTY บน Windows
2) ตั้งค่าคีย์:
mkdir ~/.ssh
chmod 700 ~/.ssh
vi ~/.ssh/authorized_keys
ใช้ความระมัดระวังในการคัดลอกคีย์และวางลงในบรรทัดใหม่ในหน้าต่างแก้ไข ตรวจสอบว่าตรงแถวเดียวและบันทึก
chmod 600 ~/.ssh/authorized_keys
เนื่องจากฉันมีชื่อเสียงไม่พอฉันจึงเพิ่มที่นี่ นอกจากคำตอบของ Louis Matthijssen หากคุณยังไม่สามารถเข้าสู่ระบบผ่าน ssh ในฐานะผู้ใช้ที่คุณสร้างเช่น
ssh username@host
นี่อาจเป็นเพราะการไม่มีสิทธิ์ของเจ้าของที่คุณต้องเพิ่มลงในโฟลเดอร์ /home/username/.ssh ของคุณ ฉันมีปัญหาเดียวกันและคุณสามารถให้สิทธิ์นี้เป็น:
chown -R username:username /home/username/.ssh
สิ่งนี้อาจเกิดขึ้นเพียงเพราะคุณสร้างไดเรกทอรีและตั้งค่าการอนุญาตเป็นรูท แต่ไม่ใช่ชื่อผู้ใช้ที่คุณต้องการเข้าถึงเซิร์ฟเวอร์ด้วย
หวังว่านี่จะช่วยใครซักคน
ลอง
touch $HOME/.ssh/authorized_keys
เพื่อสร้างไฟล์เปล่าที่มีสิทธิ์ของผู้ใช้นั้น
ไฟล์นี้ถูกสร้างขึ้นเมื่อคุณเข้าถึงโฮสต์รีโมตแรกกับผู้ใช้
สิ่งนี้อาจล้มเหลวหากสร้างคีย์ด้วยssh-keygen
คุณให้ชื่อไฟล์ ฉันป้อนชื่อmy-ssh-file-name
แล้วมันเขียนรหัสไปที่/Users/MyUserName
แทนที่จะเป็น.ssh
โฟลเดอร์ หากคุณเว้นว่างชื่อไฟล์ไว้มันจะเขียนไป.ssh
ตามที่คาดไว้
~/.ssh/authorized_keys
เป็นกุญแจของเครื่องคอมพิวเตอร์อื่น ๆ ที่คุณเชื่อมต่อกับ / ความไว้วางใจไม่ได้ของคุณเองที่สำคัญ