首先确定的是,默认已经安装了ssh服务。
1、SUSE Linux下启动sshd:
命令行:rcsshd start
使用命令行:rpm -qa | grep ssh查看是否已安装ssh。
linux-kelh:~ # rpm -qa | grep ssh
openssh-5.8p1-4.1.i586
libssh4-0.4.8-7.1.i586
ksshaskpass-0.5.3-2.1.i586
libssh2-1-1.2.7-3.1.i586
openssh-askpass-5.8p1-4.1.i586
libnsssharedhelper0-1.0.9-6.1.i586
如果存在如上显示,则表示已经安装ssh服务,反之没有安装。
再使用命令行:service sshd status查看ssh服务是否开启
2、配置SSH服务:
1. 修改配置文件
#vi /etc/ssh/sshd_config
2. 找到#PermitRootLogin no将其修改为PermitRootLogin yes
这次在SUSE上使用SSH时遇到点麻烦,所以总结一下小经验。SSH,即SecureShell,是一种网络协议,允许在两台计算机之间建立一条安全通道以交换数据。
一般Linux发行版本,例如Ubuntu和SUSE,都默认安装了OpenSSH工具包。完成系统安装,重新启动后,作为服务端的 sshd(SSHDaemon)会作为系统服务之一被启动(注:daemon解释为守护进程)。同时一个SSH工具也安装好了,openSSH程序包的一部分,是远程登录客户端程序。默认安装路径:
ssh-/usr/bin/ssh对应的配置文件/etc/ssh/ssh_config
sshd-/usr/sbin/sshd对应的配置文件/etc/ssh/sshd_config
我只想使用密码登录方式,所以修改了/etc/ssh/sshd_config文件的PasswordAuthentication参数,该参数默认为 no,意思是不允许通过密码认证登录;所以这里改为yes。默认下/etc/ssh/ssh_config也有这个参数,默认是yes,所以不用修改。修改参数后,在命令行输入sshrestart后重新启动sshd服务。
这次碰到的问题是,在SUSE登录后,在命令界面使用ssh192.168.2.101能正常登录,但是在另一台Windows系统上面用putty登录时却显示连接超时,登录失败!putty这边设置没有问题,那么问题可能出在SUSE系统本身或者两台电脑之间的通信。
使用yast查看sshd服务的状态,在命令行输入yast回车,启动yast界面,选择 “System>SystemServices(Runlevel)”,打开SystemServices(Runlevel):Services 界面,检查sshd状态已经是Enabled。使用功能键Alt E转到ExpertMode,观察到当前sshd运行在Runlevel5, (Fullmultiuserwithnetworkanddisplaymanager),这都没有问题。
到网上查查,最后在一个论坛里有人提到检查firewall,需要关闭firework。于是选择在yast中选择“Security and Users>Firewall”,在Firewall configuration界面将ServiceStart启动方式修改为Manually,然后执行 “StopFirewallNow”,保存修改!
或者在防火墙里在allow services项里添加ssh服务
重新启动sshd,再到Windows下试试,一切正常
启动sshd服务
# service sshd start
# service sshd restart
或者
# /ect/init.d/sshd start
# /ect/init.d/sshd restart
停止服务
# service sshd stop
或者
# /ect/init.d/sshd stop