จะติดตั้ง sshpass บน mac ได้อย่างไร?


96

ฉันต้องการเข้าสู่ระบบ ssh โดยอัตโนมัติจากเครื่อง mac ของฉัน

มันมีวิธีง่ายๆ:

sshpass -p my_password ssh m_username@hostname

แต่ปัญหาของฉันคือการติดตั้ง sshpass บนเครื่อง mac ของฉัน


4
ทำไมต้องกังวลกับ sshpass เมื่อคุณสามารถใช้ ssh keypairs? ปลอดภัยยิ่งขึ้นและไม่ควรเปิดเผยรหัสผ่านในตารางกระบวนการ
หยุด

8
ใน OSX ssh-keygen -b 2048เรียกใช้คำสั่ง มันจะสร้าง keypair และเก็บไว้ใน~/.ssh.ขณะที่id_rsa(คีย์ส่วนตัว) และid_rsa.pub(คีย์สาธารณะ) คัดลอกid_rsa.pubไปที่ลินุกซ์ในไดเรกทอรีและชื่อไฟล์~/.ssh/ authorized_keysจากที่นี่เมื่อคุณเชื่อมต่อกับ linux คุณจะไม่ต้องใช้รหัสผ่าน จะใช้คีย์ส่วนตัว / คีย์สาธารณะ
หยุด

1
เพียงแค่ให้คนอื่นที่อาจจะมีการพยายามที่จะปฏิบัติตาม @alvits แนะนำที่เป็นประโยชน์มาก: 1) สร้างid_rsaไฟล์บนท้องถิ่นเครื่องและ 2) ไปยังเซิร์ฟเวอร์ของโฟลเดอร์ที่สอดคล้องตามข้อเสนอแนะและ 3) เปลี่ยนชื่อไฟล์บนเซิร์ฟเวอร์ scpid_rsa.pubid_ras.pub
yuqli

7
คำตอบข้างต้นไม่ตอบคำถามของ OP ทางเลือกที่ดี แต่ไม่อธิบายวิธีติดตั้ง sshpass บน Mac มีหลายกรณีที่คุณไม่สามารถคัดลอกไปยังระบบรีโมต (ระบบไฟล์ของฉันถูกฝังไว้แบบอ่านอย่างเดียว) ดังนั้นบางอย่างเช่น sshpass เป็นวิธีที่ดีกว่าในการเข้าสู่รีโมท
ChuckB

คำตอบ:


167

มีคำแนะนำเกี่ยวกับวิธีการติดตั้ง sshpass ที่นี่:

https://gist.github.com/arunoda/7790979

สำหรับ Mac คุณจะต้องติดตั้ง xcode และเครื่องมือบรรทัดคำสั่งจากนั้นใช้คำสั่ง Homewbrew ที่ไม่เป็นทางการ:

brew install https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb

15
ในปี 2020 ฉันพบว่านี่เป็นคำตอบที่ดีที่สุด
Mike Pennington

2
น่าเสียดายที่ไม่ได้ผลสำหรับฉันError: Calling Non-checksummed download of sshpass formula file from an arbitrary URL is disabled! Use 'brew extract' or 'brew create' and 'brew tap-new' to create a formula file in a tap on GitHub instead.
Alex

56

บางปีที่ผ่านมาและตอนนี้จะมี Homebrew เหมาะสมแตะสำหรับsshpassการบำรุงรักษาโดยAleks Hudochenkov ในการติดตั้งsshpassจากการแตะนี้ให้เรียกใช้:

brew install hudochenkov/sshpass/sshpass

4
ซอร์สโค้ดอยู่ที่ไหนสักแห่ง? การใช้ sshpass โดยไม่ทราบว่ารหัสนั้นสำคัญมาก
muuvmuuv

3
@muuvmuuv ใช่เลย หากคุณดูสูตรในการแตะนั้นคุณจะเห็นว่ามันดาวน์โหลดซอร์สจากdownloads.sourceforge.net/project/sshpass/sshpass/1.06/…และสร้างขึ้นในเครื่อง
smammy

17

วิธีแก้ปัญหาโดยlukesUbuntuจาก github ใช้ได้กับฉัน:

เพียงแค่ใช้ชง

$ brew install http://git.io/sshpass.rb

7
หมายเหตุ: สิ่งนี้ล้าสมัยและชี้ไปที่ sshpass เวอร์ชันเก่า
Devis L.

@DevisLucato ใช่สำหรับ LF รุ่นล่าสุดของ sshpass แล้ว xcode ที่มี sshpass src จะเป็นผู้นำ sourceforge.net/projects/sshpass ขอให้โชคดี
SHI Zhong Ping

2
ตอนนี้ล้าสมัยแล้ว - ความคิดเห็นที่นี่: stackoverflow.com/a/62623099/1817774เป็นปัจจุบันมากกว่า ขอบคุณ @smammy
babelmonk


3

ต่อไปนี้ทำงานให้ฉัน

curl -O -L  https://sourceforge.net/projects/sshpass/files/sshpass/1.06/sshpass-1.06.tar.gz && tar xvzf sshpass-1.06.tar.gz
cd sshpass-1.06/
./configure
sudo make install

1

โปรดทำตามขั้นตอนด้านล่างเพื่อติดตั้งsshpassใน mac

curl -O -L https://fossies.org/linux/privat/sshpass-1.06.tar.gz && tar xvzf sshpass-1.06.tar.gz

cd sshpass-1.06

./configure

sudo make install

1

ด้วยเหตุผลง่ายๆ:

Andy-B-MacBook:~ l.admin$ brew install sshpass
Error: No available formula with the name "sshpass"
We won't add sshpass because it makes it too easy for novice SSH users to
ruin SSH's security.

ดังนั้นคำตอบของการ curl / กำหนดค่า / ติดตั้งจึงเหมาะสำหรับฉันบน Mac

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