Bunu, ssh'nin size verdiği dönüş değeriyle kontrol edebilirsiniz:
$ ssh -q user@downhost exit
$ echo $?
255
$ ssh -q user@uphost exit
$ echo $?
0
DÜZENLEME: Başka bir yaklaşım da nmap kullanmak olacaktır (anahtarlara veya oturum açma öğelerine ihtiyacınız olmayacak):
$ a=`nmap uphost -PN -p ssh | grep open`
$ b=`nmap downhost -PN -p ssh | grep open`
$ echo $a
22/tcp open ssh
$ echo $b
(empty string)
Ancak mesajı grep etmeniz gerekir (nmap, bir bağlantı noktasının filtrelenmiş, kapalı veya açık olup olmadığını göstermek için dönüş değerini kullanmaz).
DÜZENLEME2:
Eğer ssh-port fiili duruma ilgilenen ediyorsanız, yerini alabilir grep open
ile egrep 'open|closed|filtered'
:
$ nmap host -PN -p ssh | egrep 'open|closed|filtered'
Sadece tamamlanmak için.
ssh-keygen
yerel makinede bir anahtar çifti oluşturmak için çalıştırılır , ardındanssh-copy-id
genel anahtarı uzak makinelere kopyalar. Görünüşe göre işleri farklı yapıyorsun. Neden, amacın nedir?