ssh
উদাহরণস্বরূপ ডকুমেন্টেশন কিছুটা বিরল হলেও Match
ডকুমেন্টের মাধ্যমে এটি করতে পারে ssh_config(5)
। এই বাক্যটি উপযুক্ত হতে পারে যদি কেউ এসএসএইচ কনফিগারেশনে জটিলতার দিকে ঠেলে দিতে চায় যদিও ssh_config(5)
সিনট্যাক্সের সীমাবদ্ধতার দ্বারা সীমাবদ্ধ থাকে এবং কাঙ্ক্ষিত ফলাফলের জন্য কিছুটা ফিডিং লাগতে পারে। উল্লেখযোগ্যভাবে কাস্টম পোর্টটি সেট করা যায় না বা পূর্ববর্তী Match
প্রচেষ্টা থেকে ভুলভাবে সেট করা যায় । এই কারণেই, নীচে, এটি একবারে ডিফল্টর জন্য পরীক্ষা করা হলে বা একবার সেট করা হয় এবং ক্যানোনিকাল ডিফল্ট স্থাপনের সময় সেট করা হয় না।
# here we set the defaults for the host (no port!)
Match !canonical host testhost
CanonicalizeHostname yes
Hostname 192.0.2.42
IdentityFile ~/.ssh/id_blahblah
...
# port available?
Match canonical host 192.0.2.42 exec "is-ssh-up %h 2222"
Port 2222
# or the default port
Match canonical host 192.0.2.42
Port 22
is-ssh-up
কেবল প্রদত্ত বন্দরে কিছু প্রতিক্রিয়া দেখায় এবং এর মতো দেখতে পারে কিনা তা কেবল পরীক্ষা করে
#!/usr/bin/env expect
package require Tcl 8.5
if {[llength $argv] < 2} {
puts stderr "Usage: is-ssh-up host port"
exit 1
}
puts stderr "is-ssh-up: DEBUG trying $argv"
set socket [socket -async [lindex $argv 0] [lindex $argv 1]]
chan event $socket readable [list exit 0]
after 3000 [list exit 1]
vwait godot