서버에 SSH가 있는지 어떻게 알 수 있습니까? 알 수 있습니까? 어쨌든 테스트해야합니까?

서버에 SSH가 있는지 어떻게 알 수 있습니까? 어쨌든 테스트해야합니까?



답변

ssh 클라이언트의 경우 : ssh google.com; 명령을 찾을 수 없으면 설치하지 않은 것입니다.

ssh 서버 : ssh localhost; 아무것도하지 않으면 ssh 서버가없는 것입니다.

debian / ubuntu를 실행중인 경우 :

apt-get install openssh-server


답변

공개 키가 없다고해서 ssh 명령이 실패 할 수있는 유일한 방법은 아니므로 이것은 근사치입니다. 그래도 충분할 수 있습니다.

ssh $host "echo 2>&1" && echo $host OK || echo $host NOK

아, 좀 더 구체적으로 말하면 좋을 것입니다.


답변

which sshSSH 클라이언트가 설치되어 있는지 알려줍니다. 그러나 서버가 ssh를 사용하여 서버에 연결할 수 있는지 묻습니다.이 시점에서 SSH 자체가 아닌 SSH (SSH 데몬)를 찾고 있습니다. 설치했다면 /etc/init.d/sshd start루트 로 시작할 수 있어야 합니다. 비슷한 이름의 스크립트 확률을 찾을 수 없으면 설치되지 않은 것입니다. 대부분의 배포판에는 기본적으로 설치되어 있어야합니다.


답변

다른 메모 :

telnet <target> 22

첫 번째 줄은 SSH 버전에 대한 일반 텍스트입니다.

또한 nmap은 SERVICE/VERSION DETECTION( -sV: Probe open ports to determine service/version info)을 수행 할 수 있습니다 . 잘못 구성 된 포트를 찾는 데 도움이 될 수 있습니다 (오타는 어디에나 숨겨져 있습니다. 21에서 ssh를 실행하고 서버에 대한 모든 연결을 닫았습니다).


답변

꽤 오래된 것이지만 같은 이유로이 게시물을 쳤고 ArtB의 포스트 which ssh(기본 Ubuntu 설치의 경우 / usr / sbin / ssh which sshd출력)에서 / usr / sbin / sshd 출력을 수행 할 수도 있습니다.

솔직히 말해서 리눅스에서 실행중인 것이 있는지 확인하는 가장 좋은 방법 ps aux은 그렇지 않습니까? 따라서이 경우 ps aux | grep sshd또는 완벽을 원하고 grep 명령을 숨기는 사람들을 위해 ps aux | grep -v grep | grep sshdUbuntu에서 다음과 같이 OpenSSH-Server를 방금 설치했습니다.

ps aux | grep -v grep | grep sshd
root 5638 0.0 0.1 61372 5532 ? Ss 15:35 0:00 /usr/sbin/sshd -D


답변

한 가지 방법은 ssh RPM 패키지가 설치되어 있는지 확인하는 것입니다

[sanyadav@localhost ~]$ **rpm -qa | grep -i ssh**

출력 =>

libssh2-1.4.3-8.el7.x86_64
openssh-6.6.1p1-11.el7.x86_64
**openssh-server-6.6.1p1-11.el7.x86_64**
**openssh-clients-6.6.1p1-11.el7.x86_64**

설치된 ssh rpm 패키지 버전을 보려면 추가로

[sanyadav@localhost ~]$rpm -qi openssh-clients-6.6.1p1-11.el7.x86_64

출력 =>

Name        : openssh-clients
Version     : 6.6.1p1
Release     : 11.el7
Architecture: x86_64


답변