เมื่อฉันเข้าสู่ระบบจาก termerv ไปยังเซิร์ฟเวอร์อื่น ssh ขอให้ฉันยืนยันลายนิ้วมือของโฮสต์ กว่าจะเตือนฉันว่ามันเพิ่มเข้ามาและเดินหน้าต่อไป หากฉันออกจากระบบทันทีและลงชื่อเข้าใช้สิ่งนี้จะเกิดขึ้นอีกครั้ง ฉันลองทำไฟล์ blank_hosts ตรวจสอบการอนุญาตแล้วลองใหม่อีกครั้ง ไฟล์ known_hosts ว่างเปล่า มีการหยุดชั่วคราวจำนวนหนึ่งระหว่างรายงานที่เพิ่มลายนิ้วมือให้กับโฮสต์ที่รู้จักและถูกถามรหัสผ่านกุญแจของฉัน
me@termserv:$ ssh me@10.0.X.X
The authenticity of host '10.0.X.X (10.0.X.X)' can't be established.
ECDSA key fingerprint is d4:a2:cf:42:0b:01:xx:e5:xx:7a:xx:93:xx:53:xx:b4.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.0.X.X' (ECDSA) to the list of known hosts.
Enter passphrase for key '/home/me/.ssh/id_rsa':
Welcome to Ubuntu 12.04.2 LTS (GNU/Linux 3.2.0-23-generic x86_64)
...
me@10.0.X.X:$
ฉันตรวจสอบปัญหาพื้นที่ไดรฟ์ บนพาร์ติชันหลักของฉัน (ไม่มีพิเศษ / บ้าน) ฉันมีการใช้งานเพียง 3% syslog ของฉันไม่แสดงสิ่งที่เกี่ยวข้อง ถ้าฉันเรียกใช้ ssh ด้วย -vvv ฉันจะไม่ได้รับข้อมูลเพิ่มเติมใด ๆ ระหว่างมันโดยถามว่าฉันต้องการเชื่อมต่อและเตือนฉันหรือไม่ว่าจะมีการเพิ่มอย่างถาวรในโฮสต์ที่รู้จัก
ฉันได้ลองค้นหาคำเหล่านี้ใน OpenSSH webCVS repo แล้ว แต่ไม่พบผ่านทางเว็บไซต์ google: ทำการค้นหา
.ssh
สิทธิ์ไดเรกทอรีคือ me:me drwx------
.ssh/known_hosts
สิทธิ์ได้รับ me:me -rw-r--r--
และ -rw-------
นี่คือสิ่งที่เกิดขึ้น ฉันรวมเฉพาะส่วนระหว่างฉันบอกว่าใช่เพื่อเพิ่มและมันบอกว่ามันได้เพิ่ม
strace -o sshtrace ssh localhost
write(4, "The authenticity of host 'localh"..., 200) = 200
read(4, "y", 1) = 1
read(4, "e", 1) = 1
read(4, "s", 1) = 1
read(4, "\n", 1) = 1
rt_sigaction(SIGALRM, {SIG_DFL, [], SA_RESTORER, 0x7fc73374d4a0}, NULL, 8) = 0
rt_sigaction(SIGHUP, {SIG_DFL, [], SA_RESTORER, 0x7fc73374d4a0}, NULL, 8) = 0
rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x7fc73374d4a0}, NULL, 8) = 0
rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x7fc73374d4a0}, NULL, 8) = 0
rt_sigaction(SIGPIPE, {SIG_IGN, [], SA_RESTORER, 0x7fc73374d4a0}, NULL, 8) = 0
rt_sigaction(SIGTERM, {SIG_DFL, [], SA_RESTORER, 0x7fc73374d4a0}, NULL, 8) = 0
rt_sigaction(SIGTSTP, {SIG_DFL, [], SA_RESTORER, 0x7fc73374d4a0}, NULL, 8) = 0
rt_sigaction(SIGTTIN, {SIG_DFL, [], SA_RESTORER, 0x7fc73374d4a0}, NULL, 8) = 0
rt_sigaction(SIGTTOU, {SIG_DFL, [], SA_RESTORER, 0x7fc73374d4a0}, NULL, 8) = 0
close(4) = 0
open("/dev/null", O_WRONLY|O_CREAT|O_APPEND, 0666) = 4
fstat(4, {st_mode=S_IFCHR|0666, st_rdev=makedev(1, 3), ...}) = 0
ioctl(4, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7ffff63c12c8) = -1 ENOTTY (Inappropriate ioctl for device)
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc734b64000
fstat(4, {st_mode=S_IFCHR|0666, st_rdev=makedev(1, 3), ...}) = 0
lseek(4, 0, SEEK_END) = 0
write(4, "|1|qcJVRUE6IlxxxxxBvjBgHiiov4/8=|"..., 222) = 222
close(4) = 0
munmap(0x7fc734b64000, 4096) = 0
write(2, "Warning: Permanently added 'loca"..., 76) = 76`
ssh -vvv me@10.0.X.X
. มันเป็นโหมด verbose เพิ่มเติม (ระดับ 3)
know_hosts
ไฟล์
strace -o ssh me@10.0.X.X
และโพสต์บรรทัดที่เกี่ยวข้องกับคุณknown_hosts
ไฟล์?