首先肯定的是,默認已經安裝了ssh服務。 css
一、SUSE Linux下啓動sshd: linux
命令行:rcsshd start 安全
使用命令行:rpm -qa | grep ssh查看是否已安裝ssh。 網絡
linux-kelh:~ # rpm -qa | grep ssh ssh
openssh-5.8p1-4.1.i586 工具
libssh4-0.4.8-7.1.i586 spa
ksshaskpass-0.5.3-2.1.i586 命令行
libssh2-1-1.2.7-3.1.i586 rest
openssh-askpass-5.8p1-4.1.i586 進程
libnsssharedhelper0-1.0.9-6.1.i586
若是存在如上顯示,則表示已經安裝ssh服務,反之沒有安裝。
再使用命令行:service sshd status查看ssh服務是否開啓
二、配置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