ชื่อผู้ใช้ SSH เริ่มต้นไม่ตรงกับค่า US $ ใน macOS


1

บันทึก: ฉันจัดการเพื่อให้การทำงานนี้ตอนนี้ฉันพยายามคิดว่าทำไมมีความแตกต่าง

ฉันเพิ่งเปิดใช้งานการเข้าถึงระยะไกลบนแล็ปท็อปที่ใช้ macOS High Sierra อย่างไรก็ตามตอนแรกฉันมีปัญหาในการ ssh-ing เมื่อฉันวิ่ง ssh localhost มันจะขอให้ฉันใส่รหัสผ่านซึ่งมันถูกปฏิเสธเสมอ เมื่อฉันวิ่ง ssh ${USER}@localhost คีย์ SSH ของฉันเริ่มทำงานและฉันเข้าสู่ระบบทันที

หลังจากการพูดคำฟุ่มเฟื่อยฉันสังเกตเห็นว่า ssh localhost กำลังพยายามตรวจสอบสิทธิ์เป็น firstname.lastnameแต่บัญชีผู้ใช้ของฉันและ $USER ตัวแปรคือ firstnamelastname (ไม่มีจุด) สิ่งนี้อธิบายว่าทำไม ssh ${USER}@localhost ทำงานและอื่น ๆ ไม่ได้

แล้วอะไรล่ะ เหตุใด ssh จึงพยายามตรวจสอบสิทธิ์กับสิ่งอื่นที่ไม่ใช่ $USER? จะได้รับแบบฟอร์มการประจากที่ไหน?

คำตอบ:


4

ถ้า ssh localhost กำลังใช้ชื่อผู้ใช้อื่นจากที่หนึ่งใน $USER อาจมีบรรทัดที่แทนที่ผู้ใช้ในไฟล์กำหนดค่า ssh ของคุณ

เช็คอิน ~/.ssh/config และ /etc/ssh/ssh_config


คุณสามารถลองเพิ่มบรรทัดต่อไปนี้ใน ~/.ssh/config (สร้างไฟล์หากไม่มีอยู่):

User firstnamelastname

จากนั้นเริ่มต้นใหม่ ssh:

sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist
sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist

และตรวจสอบชื่อผู้ใช้เริ่มต้น ssh ของคุณอีกครั้งด้วยโหมด verbose:

ssh -v localhost

คุณควรเห็นบรรทัดดังนี้:

debug1: Authenticating to localhost:22 as 'firstnamelastname'

(นั่นคือสิ่งที่คุณกำหนดไว้ในของคุณ ~/.ssh/config )


Bah, ฉันโง่ นั่นคือสิ่งที่มันเป็น ไม่แน่ใจว่าสิ่งที่ฉันคิดในอดีตเมื่อฉันวางไว้ที่นั่น
Mr. Llama
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.