1.将远程服务器的/etc/init.d/ssd 文件拷贝到本地
scp /etc/init.d/ssh root@IP地址:/etc/init.d
2.vi /etc/init.d/sshd
3.将原有的sshd文件内容清除,然后复制以下内容便可
#!/bin/sh # Start/stop/restart the secure shell server: sshd_start() { # Create host keys if needed. if [ ! -r /etc/ssh/ssh_host_key ]; then /usr/bin/ssh-keygen -t rsa1 -f /etc/ssh/ssh_host_key -N '' fi if [ ! -f /etc/ssh/ssh_host_dsa_key ]; then /usr/bin/ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N '' fi if [ ! -f /etc/ssh/ssh_host_rsa_key ]; then /usr/bin/ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N '' fi /usr/sbin/sshd } sshd_stop() { killall sshd } sshd_restart() { if [ -r /var/run/sshd.pid ]; then echo "WARNING: killing listener process only. To kill every sshd process, you must" echo " use 'rc.sshd stop'. 'rc.sshd restart' kills only the parent sshd to" echo " allow an admin logged in through sshd to use 'rc.sshd restart' without" echo " being cut off. If sshd has been upgraded, new connections will now" echo " use the new version, which should be a safe enough approach." kill `cat /var/run/sshd.pid` else killall sshd fi sleep 1 sshd_start } case "$1" in 'start') sshd_start ;; 'stop') sshd_stop ;; 'restart') sshd_restart ;; *) echo "usage $0 start|stop|restart" esac
4.重启过程中有报错的情况,请查看报错代码修改sshd文件内容,直到运行正常。