আমি যদি আমার এসএসএইচ পোর্টটি 22 থেকে 23453 এ পরিবর্তন করি তবে আমি আর প্রবেশ করতে পারব না।
আরও বিশদে, আমি অ্যামাজন ওয়েব পরিষেবাদিতে একটি রেড হ্যাট ইসি 2 উদাহরণ ব্যবহার করছি। এটি নতুন পরিবর্তন যা আমি একটি নতুন ইনস্টল-এ এসেছি (প্রথম পরিবর্তনটি হ'ল নন-রুট ব্যবহারকারী যুক্ত করা)।
আমি গিট বাশ এবং একটি স্থানীয় .ssh / কনফিগারেশন ফাইল ব্যবহার করে জরিমানা করতে পারি, আমি বর্তমানে / etc / ssh / sshd_config এ লাইনটি সম্পাদনা করি
#Port 23453
বলতে
Port 23453
তারপরে sshd পুনরায় আরম্ভ করুন
sudo service sshd restart
আমি তারপরে আমার .ssh / config ফাইলটি "পোর্ট 23453" একটি লাইন যুক্ত করব
Host foo
Hostname my-ec2-public-DNS
Port 23453
IdentityFile my ssl key
যদি আমি অন্য গিট বাশ শেলটি খুলি (আমার বিদ্যমান সংযোগটি বন্ধ না করে) এবং আমার দৃষ্টান্তের মধ্যে ssh করার চেষ্টা করি (ssh foo সহ) আমি নিম্নলিখিত ত্রুটিটি দেখতে পাচ্ছি:
ssh: connect to host my-ec2-public-DNS port 23453: Bad file number
এই দৃষ্টান্তের সাথে সংযুক্ত সুরক্ষা গোষ্ঠীর দুটি টিসিপি, দুটি এন্ট্রি রয়েছে
22 (SSH) 0.0.0.0/0
23453 0.0.0.0/0
আমার সর্বোত্তম অনুমান যে পোর্টটি এখনও আমার ফায়ারওয়াল দ্বারা অবরুদ্ধ।
এর আউটপুট sudo iptables -L
নিম্নরূপ:
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT icmp -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
যা আমার কাছে বেশ খোলা মনে হচ্ছে।
হালনাগাদ
একটি iptables নিয়ম যোগ করার পরে
iptables -A INPUT -p tcp --dport 23453 -j ACCEPT
এবং আবার চেষ্টা, এখনও ভাগ্য।
আউটপুট iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT icmp -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
ACCEPT tcp -- anywhere anywhere tcp dpt:23453
Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
যা যথেষ্ট খোলা দেখায়। বন্দরে প্যাকেটগুলি কীভাবে আসবে বা কীভাবে সন্ধান করা যায় সে সম্পর্কে আমি পুরোপুরি নিশ্চিত নই। তবে আউটপুট netstat -ntlp
(মূল হিসাবে)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:56137 0.0.0.0:* LISTEN 948/rpc.statd
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 930/rpcbind
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1012/cupsd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1224/master
tcp 0 0 0.0.0.0:23453 0.0.0.0:* LISTEN 32638/sshd
tcp 0 0 :::36139 :::* LISTEN 948/rpc.statd
tcp 0 0 :::111 :::* LISTEN 930/rpcbind
tcp 0 0 ::1:631 :::* LISTEN 1012/cupsd
tcp 0 0 :::23453 :::* LISTEN 32638/sshd
যা 23453 এ sshd দেখাতে আমার কাছে মনে হচ্ছে।
আমি আবার যাচাই করেছি যে সুরক্ষা গোষ্ঠীতে এই বন্দরটি খোলা আছে (পোর্ট: 23453, প্রোটোকল: টিসিপি, উত্স: 0.0.0.0/0)
এসএসএইচ দিয়ে সংযোগ স্থাপনে ব্যর্থতার কারণ আর কী হতে পারে?
চিয়ার্স
ময়নাতদন্ত
আমি এখন সংযোগ করতে পারি এটি iptables একটি অনুপস্থিত নিয়ম ছিল। iptables -L
এখনকার ফলাফলটি এর মতো দেখাচ্ছে:
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT icmp -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere tcp dpt:23453 state NEW
ACCEPT all -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
iptables -L
(এসএসএস ওয়ার্কস) এবং দ্বিতীয়টির মধ্যে পার্থক্যটি দেখতে পাচ্ছেন নাiptables -L
(এসএসএস ব্লক করা আছে)। আইএনপুট চেইনে নিয়মের ক্রমটি দেখুন (প্রথম "টার্গেটের" অধীনে 6 টি লাইন) সেগুলি উপরে থেকে নীচে পর্যন্ত পড়ে থাকে, সুতরাং দ্বিতীয় সেট বিধিগুলিতে "এসিসিইপিটি টিসিপি'র আগে" সমস্ত প্রত্যাখ্যান করুন "চাপান dpt: 23453 "। বিধিগুলির তৃতীয় সেটটিতে উপরের এসিসিপিটি প্রবেশ রয়েছে এবং তাই এর আগে, প্রত্যাখ্যান করুন।