จัดเก็บคีย์โฮสต์ของเซิร์ฟเวอร์โดยอัตโนมัติในแคชด้วย plink


21

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

The server's host key is not cached in the registry. You
have no guarantee that the server is the computer you
think it is.
The server's rsa2 key fingerprint is:
ssh-rsa 2048 **:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**
If you trust this host, enter "y" to add the key to
PuTTY's cache and carry on connecting.
If you want to carry on connecting just once, without
adding the key to the cache, enter "n".
If you do not trust this host, press Return to abandon the
connection.
Store key in cache? (y/n)

ขอขอบคุณ!


ปัญหาที่แท้จริงคือว่าคอมไพล์ทั้งสองไม่ได้ให้ข้อมูลที่ถูกต้องไปยัง plink หรือในทางกลับกัน plink ก็ไม่เหมาะสม ถ้าคุณเปิดgit cloneในเช่น "คอมไพล์ทุบตี" อินพุท (Y / N) bash: y: command not foundไปแล้วเป็นทุบตีพรอมต์และทุบตีมักจะตอบสนองด้วย
andrybak

คุณอาจใช้ Klink จากโครงการของคิตตี้ นี่คือส้อมของผงสำหรับอุดรู มีกุญแจ: -auto-store-sshkey
paxlo

คำตอบ:


20

ลองเพิ่มสคริปต์ของคุณล่วงหน้าด้วย:

echo y | plink -ssh root@REMOTE_IP_HERE "exit"

สิ่งนี้จะทำให้ท่อyผ่านตัวละครstdinไปถึงplinkเมื่อคุณได้รับรหัสร้านค้าในแคช? (y / n)พรอมต์อนุญาตให้plinkคำสั่งเพิ่มเติมทั้งหมดส่งผ่านโดยไม่ต้องป้อนข้อมูลของผู้ใช้ exitคำสั่งจะปิดเซสชั่น SSH หลังจากที่มันได้รับการจัดตั้งขึ้นช่วยให้ต่อไปนี้plinkคำสั่งไปวิ่ง

นี่คือตัวอย่างสคริปต์ที่เขียนเวลา Unix ของเซิร์ฟเวอร์ภายนอกไปยังไฟล์ภายในเครื่อง:

echo y | plink -ssh root@REMOTE_IP_HERE "exit"
plink -ssh root@REMOTE_IP_HERE "date -t" > remote_time.tmp

การวางท่ออ้างอิง : http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-4.html


-1

อาจจะช่วย:

plink -auto_store_sshkey -batch 192.211.158.256 -l user -pw password command

1
-auto_store_sshkey เป็น "ตัวเลือกที่ไม่รู้จัก" สำหรับรุ่น plink 0.63
นาธาน

0.66 ไม่ทราบเช่นกัน
Joril

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