知识准备:
1、ssh和sshd的区别:
2、ssh服务进程默认地址:/etc/init.d/ssh
查看ssh服务是否开启
service ssh status
或者:
/etc/init.d/ssh status
在虚拟机上单元测试remote.c函数,先手工检查ssh有没有运行:
[email protected]:/etc/init.d# /etc/init.d/ssh status
* sshd is running
或者这样检查:[email protected]:/etc/init.d# service ssh status
ssh start/running, process 748
[email protected]:~# vi /etc/init.d/ssh stop 关闭ssh服务指令
[email protected]:~# netstat –apntlu 查看端口状态,如果ssh端口22处于listen状态,ssh处于开启。Ssh关闭失败。
[email protected]:~# vi /etc/init.d/ssh 查看ssh脚本内容
[email protected]:~# vi /var/run/sshd.pid 查看ssh进程pid
[email protected]:~# start-stop-daemon --stop --quiet --oknodo --pidfile /var/run/sshd.pid --exec /usr/sbin/sshd 按照脚本命令关闭ssh
[email protected]:~# netstat –apntlu 查看端口状态,如果ssh端口22处于listen状态,ssh处于开启。
[email protected]:~# 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
[email protected]:~# vi /etc/init.d/ssh stop 关闭ssh服务指令起作用了。
备注:
[email protected]:~# ps -ef | grep ssh 也可以查看端口状态。
或者直接用putty远程连接linux,试一下能否连接上。注意:关闭ssh服务之后,正在开启的Putty并不会断开,但是尝试退出putty再连接将连接不上了。
Linux系统重启之后,Ssh服务进程默认重启,并重新分配pid号。