อนุญาต scp แต่ไม่ใช่ ssh - ไม่มี scponly


8

ฉันย้ายเซิร์ฟเวอร์ Debian ไปยัง Ubuntu 16.04 หนึ่งในแพ็คเกจบนเซิร์ฟเวอร์ Debian คือscponlyซึ่งทำหน้าที่เป็นเชลล์และอนุญาตการเชื่อมต่อ ssh สำหรับจุดประสงค์ของ scp เท่านั้น (ไม่ใช่เข้าสู่ระบบหรือใช้งานอื่นที่ไม่ใช่scpไบนารี) รายละเอียดสามารถพบได้ที่นี่ แพคเกจนี้อยู่ใน Debian ผ่านการอัปเกรดเซิร์ฟเวอร์อย่างน้อย 2 ตัวแล้วอัปเกรดระบบปฏิบัติการนับไม่ถ้วนและอาจนับตั้งแต่ประมาณปี 2550

scponlyไม่ได้อยู่ในที่เก็บ 16.04 ใด ๆ และไม่ได้รวบรวมไว้ใน Launchpad ในขณะที่ฉันค่อนข้างสามารถติดตั้งจากแหล่งที่มาได้ฉันสงสัยว่าในช่วง 10 ปีที่ผ่านมามีวิธีที่ดีกว่าในการกำหนดค่า ssh เพื่ออนุญาตให้ใช้คำสั่ง scp เท่านั้นนั่นเป็น Ubuntu 16.04 ที่เป็นมิตรมากขึ้น อดีตอันไกลโพ้น ความคิดใด ๆ

คำตอบ:


15

ตามserverfault.comคำตอบนี้อนุญาตให้ SCP แต่ไม่ใช่การเข้าสู่ระบบจริงโดยใช้ SSHวิธีหนึ่งที่ได้รับการสนับสนุนในปัจจุบันคือการใช้rsshซึ่งมีอยู่ในที่universeเก็บ:

sudo apt-add-repository universe

sudo apt-get install rssh

ในการอนุญาตให้ SCP คุณต้องยกเลิกหมายเหตุบรรทัดที่เกี่ยวข้องใน/etc/rssh.confไฟล์ (รวมถึงโปรโตคอลอื่นที่คุณต้องการเปิดใช้งาน):

allowscp
#allowsftp
#allowcvs
#allowrdist
#allowrsync
#allowsvnserve

จากนั้นเป็นเพียงเรื่องของการเปลี่ยนเชลล์ล็อกอินของผู้ใช้เป็นเชลล์ rssh เช่น

sudo chsh -s /usr/bin/rssh steeldriver

จากนั้นคุณสามารถทดสอบว่า SCP ทำงานอย่างไร

$ scp steeldriver@localhost:~/Pictures/somefile.png ./
steeldriver@localhost's password: 
somefile.png                                                               100%   34KB  33.7KB/s   00:00    
$

แต่ SSH ควรล้มเหลวด้วยข้อความปฏิเสธเช่น

$ ssh steeldriver@localhost
steeldriver@localhost's password: 
Welcome to Ubuntu 14.04.4 LTS (GNU/Linux 3.13.0-88-generic x86_64)

 * Documentation:  https://help.ubuntu.com/

Last login: Wed Jul  6 16:23:47 2016 from localhost

This account is restricted by rssh.
Allowed commands: scp

If you believe this is in error, please contact your system administrator.

Connection to localhost closed.

โปรดทราบว่าไม่จำเป็นต้องเพิ่มลง/usr/bin/rsshในรายการเชลล์ล็อกอินที่อนุญาตใน / etc / shells


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