Score:0

ไฟล์ประวัติใดที่คำสั่งในไคลเอนต์ ssh commandline ไปที่?

ธง id

ถ้าฉันทำ ssh ผู้ใช้@เซิร์ฟเวอร์ จากนั้นในเซสชัน bash ฉันจะเรียกใช้อะไรก็ตาม เมื่อปิดเซสชัน ssh คำสั่งที่ดำเนินการเหล่านี้จะไปที่ไฟล์ .bash_history เรียบง่ายและชัดเจน

แต่ถ้าฉันทำ คำสั่ง ssh user@serverคำสั่งนี้ไม่ถูกบันทึกที่ใดก็ได้ นอกเหนือจากเหตุผล (ฉันสงสัยว่าไม่มี bash session เกิดขึ้น) สิ่งที่ฉันอยากรู้คือ: ฉันจะบันทึกคำสั่งที่ถูกดำเนินการในลักษณะนี้ได้อย่างไร

Arkadiusz Drabczyk avatar
br flag
คุณต้องการบันทึกประวัติบนเซิร์ฟเวอร์ระยะไกลหรือไม่?
dave_thompson_085 avatar
jp flag
`ssh user@server command` รันรีโมตเชลล์ของคุณ (ไม่ว่าจะเป็น bash หรืออย่างอื่น) เพื่อรันคำสั่ง แต่รันเชลล์นี้เป็น _noninteractive_ bash รักษาและเก็บประวัติคำสั่งเฉพาะเมื่อรันเป็น _interactive_ บางทีการโต้ตอบคือสิ่งที่คุณพิจารณาว่าเป็น 'เซสชัน' _หาก_ คุณใช้ (ไคลเอ็นต์) คีย์สาธารณะและไม่ใช่ (เคย) รหัสผ่านเพื่อตรวจสอบสิทธิ์ คุณสามารถ [ตั้งค่า `command=` ใน (บรรทัดที่เกี่ยวข้องของ) ไฟล์ `authorized_keys`](https://serverfault.com/questions /559658/log-commands-executed-over-ssh)
id flag
@ArkadiuszDrabczyk ใช่
id flag
@dave_thompson_085 ขอบคุณมากสำหรับคำอธิบายที่ชัดเจนของคุณ ดังนั้นฉันจึงอนุมานจากคำพูดของคุณว่าถ้าฉันไม่ใช้ command= option ใน Authorized_keys (หรือตัวเลือก ForceCommand ใน sshd_config) จะไม่มีทางรู้ได้ว่าคำสั่ง (โดยพลการ) ใดที่ไคลเอ็นต์ ssh สามารถดำเนินการได้ในทุกเซสชันที่ไม่โต้ตอบ อืมมม...ฉันไม่รู้ว่านี่เป็นเรื่องที่ต้องกังวลหรือเปล่า...ขอบคุณนะ

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา