centos安裝啓動ssh服務html
#rpm -qa |grep ssh 檢查是否裝了SSH包linux
沒有的話yum install openssh-servercentos
#chkconfig --list sshd 檢查SSHD是否在本運行級別下設置爲開機啓動
#chkconfig --level 2345 sshd on 若是沒設置啓動就設置下.
#service sshd restart 從新啓動
#netstat -antp |grep sshd 看是否啓動了22端口.確認下.
#iptables -nL 看看是否放行了22口.
#setup---->防火牆設置 若是沒放行就設置放行.安全
首先,咱們搜索一下CentOS的軟件庫裏面有沒有已經定義好的SSH服務器包:服務器
$ yum search ssh ... ... openssh.x86_64 : An open source implementation of SSH protocol versions 1 and 2 openssh-askpass.x86_64 : A passphrase dialog for OpenSSH and X openssh-clients.x86_64 : An open source SSH client applications openssh-ldap.x86_64 : A LDAP support for open source SSH server daemon openssh-server.x86_64 : An open source SSH server daemon ... ...
OpenSSH是Secure Shell的一個開源實現。從上面的搜索結果能夠看到,CentOS的軟件庫裏面已經有了OpenSSH的服務器包(openssh-server)和客戶端包(openssh-clients),用yum install能夠直接安裝。app
$ yum install openssh-server
OpenSSH Server安裝完成後在/etc/init.d目錄下應該會增長一個名爲sshd的服務。能夠參考《CentOS設置服務開機自動啓動》的方式配置sshd服務開機自動啓動。ssh
$ chkconfig --list sshd sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
手動啓動sshd服務,方便後面客戶端的鏈接:tcp
$ /etc/init.d/sshd start
WIndows 7裏面的SSH客戶端軟件我用的是XShell。打開XShell,新建鏈接,選擇Password驗證方式,輸入用戶名和密碼,這樣就能夠鏈接到服務器了。post
登陸成功後的畫面:加密
OpenSSH容許使用RSA的方式登陸服務器。RSA加密方式會有兩個文件:一個是公鑰文件,放在服務器$HOME/.ssh/authorized_keys文件裏面;另一個是私鑰文件,放在客戶端電腦上。
產生RSA密鑰對,能夠在服務器產生,也能夠在客戶端產生:
$ ssh-keygen
執行完畢後,會在$HOME/.ssh目錄下多出來兩個文件:id_rsa.pub(公鑰文件)和id_rsa(私鑰文件)。
將公鑰文件追加到$HOME/.ssh/authorized_keys文件後面:
$ cat id_rsa.pub >> authorized_keys
將私鑰文件下載到客戶端電腦(可使用SFTP方式,例如XFtp,WinSCP等不少軟件),而後新建XShell鏈接,選擇Public Key驗證方式:
配置完畢,如今咱們能夠不用輸入密碼也可以鏈接到服務器了。
全部配置信息保存的目錄:/etc/ssh
sshd服務配置文件:/etc/ssh/sshd_config
《用OpenSSH構建SSH服務器》:安裝O盆SSH服務器。
《用SSH客戶端軟件登陸到服務器》:如何用PUTTY+RSA登錄遠程服務器。
《CentOS Wiki - 保衛 OpenSSH》:OpenSSH的安全設置。
《Top 20 OpenSSH Server Best Security Practices》:20個須要遵照的SSH安全建議。
第一步
#查看本機是否安裝SSH軟件包
[root@localhost ~]# rpm -qa | grep ssh
openssh-server-6.6.1p1-12.el7_1.x86_64
openssh-clients-6.6.1p1-12.el7_1.x86_64
libssh2-1.4.3-8.el7.x86_64
openssh-6.6.1p1-12.el7_1.x86_64
#若是沒有,則須要安裝
[root@localhost /]# yum install openssh-server
第二步
#開啓 SSH 服務
[root@localhost ~]# service sshd start
Redirecting to /bin/systemctl start sshd.service
#查看TCP 22端口是否打開
[root@localhost ~]# netstat -ntpl | grep 22
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 17816/sshd
tcp6 0 0 :::22 :::* LISTEN 17816/sshd
第三步
#接下來即可使用終端仿真程序(例如putty)去登錄遠程主機
若是你在客戶端不能鏈接SSH服務的話,那多是防火牆的緣由,終端命令行中輸入 iptables -nL 來看是否開放了ssh tcp 22 端口:
[root@localhost ~]# iptables -nL
你能夠將防火牆中的規則條目清除掉:
[root@localhost ~]# iptables -F