#rpm -qa |grep ssh 檢查是否裝了SSH包
沒有的話yum install openssh-server
#chkconfig --list sshd 檢查SSHD是否在本運行級別下設置為開機啟動
#chkconfig --level 2345 sshd on 如果沒設置啟動就設置下.
#service sshd restart 重新啟動
#netstat -antp |grep sshd 看是否啟動了22端口.確認下.
#iptables -nL 看看是否放行了22口.
#setup---->防火牆設置 如果沒放行就設置放行.
linux應用之openssh server安裝及配置(centos)
安裝OpenSSH Server
首先,我們搜索一下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可以直接安裝。
$ yum install openssh-server
OpenSSH Server安裝完成后在/etc/init.d目錄下應該會增加一個名為sshd的服務。可以參考《CentOS設置服務開機自動啟動》的方式配置sshd服務開機自動啟動。
$ chkconfig --list sshd sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
手動啟動sshd服務,方便后面客戶端的連接:
$ /etc/init.d/sshd start
用密碼方式登錄遠程服務器
WIndows 7里面的SSH客戶端軟件我用的是XShell。打開XShell,新建連接,選擇Password驗證方式,輸入用戶名和密碼,這樣就可以連接到服務器了。

登錄成功后的畫面:

用RSA密鑰登錄遠程服務器
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驗證方式:

配置完畢,現在我們可以不用輸入密碼也能夠連接到服務器了。
OpenSSH相關目錄和文件
所有配置信息保存的目錄:/etc/ssh
sshd服務配置文件:/etc/ssh/sshd_config
OpenSSH相關鏈接
《用OpenSSH構建SSH服務器》:安裝O盆SSH服務器。
《用SSH客戶端軟件登錄到服務器》:如何用PUTTY+RSA登陸遠程服務器。
《CentOS Wiki - 保衛 OpenSSH》:OpenSSH的安全設置。
《Top 20 OpenSSH Server Best Security Practices》:20個需要遵守的SSH安全建議。
Centos7 遠程登錄端口22 設置
第一步
#查看本機是否安裝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

