知識准備:
1、ssh和sshd的區別:
2、ssh服務進程默認地址:/etc/init.d/ssh
查看ssh服務是否開啟
service ssh status
或者:
/etc/init.d/ssh status
在虛擬機上單元測試remote.c函數,先手工檢查ssh有沒有運行:
root@dbaudit-desktop:/etc/init.d# /etc/init.d/ssh status
* sshd is running
或者這樣檢查:root@dbaudit-desktop:/etc/init.d# service ssh status
ssh start/running, process 748
root@dbaudit-desktop:~# vi /etc/init.d/ssh stop 關閉ssh服務指令
root@dbaudit-desktop:~# netstat –apntlu 查看端口狀態,如果ssh端口22處於listen狀態,ssh處於開啟。Ssh關閉失敗。
root@dbaudit-desktop:~# vi /etc/init.d/ssh 查看ssh腳本內容
root@dbaudit-desktop:~# vi /var/run/sshd.pid 查看ssh進程pid
root@dbaudit-desktop:~# start-stop-daemon --stop --quiet --oknodo --pidfile /var/run/sshd.pid --exec /usr/sbin/sshd 按照腳本命令關閉ssh
root@dbaudit-desktop:~# netstat –apntlu 查看端口狀態,如果ssh端口22處於listen狀態,ssh處於開啟。
root@dbaudit-desktop:~# man start-stop-daemon
OPTIONS
-s, --signal signal
With --stop, specifies the signal to send to processes being stopped (default TERM).
調研信號signal發送錯誤問題。
卸載重新ssh之后,問題解決了,應該是安裝過程中出了問題,我原先安裝的是apt-get install ssh,正確的安裝文件應該是openssh-server。 sshd安裝使用的包是openssh-server,客戶端使用的是openssh-client,安裝包不應該是ssh
root@dbaudit-desktop:~# vi /etc/init.d/ssh stop 關閉ssh服務指令起作用了。
備注:
root@dbaudit-desktop:~# ps -ef | grep ssh 也可以查看端口狀態。
或者直接用putty遠程連接linux,試一下能否連接上。注意:關閉ssh服務之后,正在開啟的Putty並不會斷開,但是嘗試退出putty再連接將連接不上了。
Linux系統重啟之后,Ssh服務進程默認重啟,並重新分配pid號。