22-র ছাড়া অন্য বন্দরে ssh-copy-id চালানো কি সম্ভব?


99

আমার একটি এসএসএইচ সহ একটি সার্ভার রয়েছে একটি মানহীন পোর্টে চলছে। 22 এর পরিবর্তে এটি 8129-এ চলে log লগ ইন করতে, আমি ব্যবহার করি:

ssh -p 8129 hostname

এখন, যখনই আমাকে পাসওয়ার্ড-স্বল্প লগইনের জন্য একটি কী সেট আপ করতে হবে, আমাকে সর্বজনীন কীটি অনুলিপি করতে হবে এবং এটিকে নিজেই অনুমোদিত_কিগুলিতে যুক্ত করতে হবে। আমি আবিষ্কার করেছি যে কমান্ডটি ssh-copy-idএই প্রক্রিয়াটি সহজ করার জন্য ব্যবহার করা যেতে পারে, তবে মনে হচ্ছে এটিতে ssh সার্ভারের পোর্ট নির্দিষ্ট করার কোনও বিকল্প নেই।

ssh-copy-id8129 পোর্টটি ব্যবহার করার কিছু উপায় আছে , বা আমি কি কেবল এই আদেশটি ভুলে গিয়ে আগের মতো ম্যানুয়ালি অনুলিপি / আটকানো উচিত?

উত্তর:


112
$ ssh-copy-id "-p 8129 user@host"

সূত্র: http://it-ride.blogspot.com/2009/11/use-ssh-copy-id-on-dif भिन्न-port.html

দ্রষ্টব্য: বন্দরটি অবশ্যই ব্যবহারকারী @ হোস্টের সামনে থাকতে হবে বা এটি সমাধান হবে না


11
এটা সত্যিই বোকামি, যে sshবাক্য গঠন হয়েছে ssh -p 1234 user@host, ssh-copy-id "-p 1234 user@host"এবং পরিশেষে scp -P 1234 user@host। একই সিনট্যাক্সটি পাওয়া ভাল লাগবে।
টম্বার্ট

2
@ টমবার্ট এবং তারপরে আরএসসিএনসি রয়েছে rsync -e "ssh -p 1234" user@host। আমি শপথ করছি এটি একটি কাস্টম পোর্ট ব্যবহারের চেয়ে বেশি ঝামেলা।
গ্রেটমাকিনলে

1
@ কল্ট ম্যাককালাম্যাকের উত্তর ব্যাখ্যা করে যে এটি নতুন সংস্করণে উন্নত হয়েছে, এবং এই অদ্ভুত বাক্য গঠনটির আর প্রয়োজন নেই।
জাল

1
অবগতির জন্য পূর্ণ কমান্ড আইপি দুইবার টাইপ করা প্রয়োজন আছে এবং ভালো কিছু হওয়া উচিত:ssh-copy-id "root@192.168.0.100 -p 12345" -i ~/.ssh/id_rsa.pub 192.168.0.100
অধ: পতিত

1
ম্যাকোজে (আমি হাই সিয়েরায় আছি) উদ্ধৃতিগুলির প্রয়োজন নেই। অর্থাত। ssh-copy-id -p 8129 user@hostকাজ করে।
অর্জুন মেহতা

46

ssh-copy-idএটি অন্তর্নিহিত sshকমান্ডের কাছে যেতে পারে এমন কোনও যুক্তি গ্রহণ করে না , তবে আপনি একটি এলিফ কনফিগার করতে পারেন ~/.ssh/config

Host myhost
HostName hostname
Port 8129

তারপরে দৌড়াও ssh-copy-id myhost


3
-pনিয়মিত sshপ্রচেষ্টায় পতাকাটির প্রয়োজনীয়তা অপসারণেরও এটির সুবিধা রয়েছে । সুতরাং এটি কেবল এই প্রশ্নের সঠিক উত্তর নয়, এটি যথাযথ সময়কাল।
ওয়ারেন ইয়ং

এর জন্য ধন্যবাদ. আপনি হোস্টের প্রাকৃতিক হোস্টনামের সাথে সন্তুষ্ট থাকলে ২ য় লাইনের "হোস্টনাম হোস্টনাম" প্রয়োজনীয় নয়।
লনিবিজ

17

ওপেনশ-ক্লায়েন্ট_6.২ হিসাবে এখন এই সিনট্যাক্সের জন্য কমান্ডের জন্য একটি উত্সর্গীকৃত বন্দর পতাকা রয়েছে:

ssh-copy-id -p 8129 user@example

এটি -ও পতাকা সহ অন্যান্য ssh বিকল্পগুলি যুক্ত করার জন্য সমর্থন যোগ করেছে।

১৩.০৪-তে প্রবর্তিত উপযুক্ত সংস্করণের জন্য এখানে উবুন্টুর ম্যান পৃষ্ঠাটি রয়েছে: http://manpages.ubuntu.com/manpages/saucy/man1/ssh-copy-id.1.html


3
এটিই একমাত্র পদ্ধতি যা এর জন্য কাজ করেছিল।
লুকা স্টেব

11

উত্সের তাত্ক্ষণিক দৃষ্টিভঙ্গি ইঙ্গিত ssh-copy-idদেয় যে এটির অনুমতি দেয় এমন কোনও কার্যকারিতা নেই বলে মনে হয়। তবে এর পরিবর্তে আপনি নীচের মতো কিছু করতে পারেন:

ssh -p8129 user@host 'cat >> ~/.ssh/authorized_keys' < ~/.ssh/id_*.pub


5

আমি সর্বদা scpএটির অনুলিপি ব্যবহার করেছি:

scp -P 8129 ~/.ssh/id_*.pub user@host:
ssh -p 8129 user@host 'cat id_*.pub >> ~/.ssh/authorized_keys'

যদিও আমার অবশ্যই বলতে হবে, ভবিষ্যতে যদি আমি সেগুলি মনে করি তবে আমি সম্ভবত অন্যান্য (এক-লাইন / সংযোগ) পদ্ধতিগুলি ব্যবহার করব। তবে এটি আপনার জন্য অন্য একটি বিকল্প।


2

CentOS7 এ কেবল:

 ssh-copy-id "-p 1234" user@host

ব্যবহারকারীর @ হোস্টকে উদ্ধৃতিগুলির মধ্যে না রাখার জন্য দয়া করে যত্ন নিন বা আপনি এই বিতরণে নিম্নলিখিত ত্রুটি পাবেন:

/usr/bin/ssh-copy-id: ERROR: Bad port ' 1234 user@host'


0

আমি এই আদেশটি ব্যবহার করি:

ssh-copy-id ssh://user@ip_addr:port

উদাহরণ:

ssh-copy-id ssh://root@1.2.3.4:23

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.