서버에 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 ssh
SSH 클라이언트가 설치되어 있는지 알려줍니다. 그러나 서버가 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 sshd
Ubuntu에서 다음과 같이 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