技術員聯(lián)盟提供win764位系統(tǒng)下載,win10,win7,xp,裝機純凈版,64位旗艦版,綠色軟件,免費軟件下載基地!

當前位置:主頁 > 教程 > 服務器類 >

Linux環(huán)境中遠程開啟ssh端口和更改ssh用戶根目錄

來源:技術員聯(lián)盟┆發(fā)布時間:2018-02-22 18:01┆點擊:

  遠程密令臨時開啟ssh端口

  nux服務器,我們一般是通過ssh通道遠程管理,這就需要我們開啟ssh端口,如22。但開啟端口有被暴力破解的風險,你會說可以設置復雜的密碼或使用證書避免。就算破解不了密碼,但openssh也可能會有漏洞,你會說可以更改ssh端口,但還是有可能被掃描出來。還有一種選擇,我們可以只允許指定IP訪問ssh,通過vpn登錄管理服務器,但局限很明顯,萬一緊急情況vpn登錄不上去了怎么辦。下面給出一種個人覺得比較滿意的解決方案,即使用iptables的recent模塊,通過密令臨時開啟ssh端口。當然,密令需要保管好,防止外泄。

  1、iptables規(guī)則設定

  #指定78字節(jié)的icmp數(shù)據(jù)包(包含IP頭部20字節(jié),ICMP頭部8字節(jié))通過被加入sshopen列表。

  代碼如下:

  iptables -A INPUT -p icmp --icmp-type 8 -m length --length 78 -m recent --set --name sshopen --rsource -j ACCEPT

  #檢查sshopen列表是否存在你的來源IP,如果存在,即從第一次使用密令開始15秒鐘內開啟ssh端口22,超過15秒端口自動關閉,不再允許新連接,已連接的不會斷開。

  代碼如下:

  iptables -A INPUT -p tcp --dport 22 --syn -m recent --rcheck --seconds 15 --name sshopen --rsource -j ACCEPT

  2、臨時開啟ssh端口密令

  linux下:

  代碼如下:

  ping -s 50 host

  3、我目前使用的iptables規(guī)則

  代碼如下:

  -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

  -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

  -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT

  -A INPUT -p tcp -m tcp --dport 123 -j ACCEPT

  -A INPUT -p icmp -m icmp --icmp-type 8 -m length --length 50 -m recent --set --name sshopen --rsource -j ACCEPT

  -A INPUT -p tcp -m tcp --dport 22 --syn -m recent --rcheck --seconds 15 --name sshopen --rsource -j ACCEPT

  -A INPUT -i lo -j ACCEPT

  -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT

  -A INPUT -p icmp -m icmp --icmp-type 11 -j ACCEPT

  -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

  -A OUTPUT -o lo -j ACCEPT

  -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT

  -A OUTPUT -p tcp -m tcp --dport 443 -j ACCEPT

  -A OUTPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT

  -A OUTPUT -p icmp -m icmp --icmp-type 11 -j ACCEPT

  使用jailkit chroot更改ssh用戶根目錄

  安裝jailkit

  代碼如下:

  cd /tmp

  wget

  tar xzf jailkit-2.16.tar.gz

  cd jailkit-2.16

  ./configure

  make

  make install

  cp extra/jailkit /etc/init.d/jailkit

  chmod u+x /etc/init.d/jailkit

  chkconfig jailkit on

  初始化chroot環(huán)境

  代碼如下:

  jk_init -v -j /home/chroot sftp scp jk_lsh netutils extendedshell

  service jailkit start

  代碼如下:

  useradd -m

  echo :password | chpasswd

  chroot用戶

  代碼如下:

  jk_jailuser -m -n -j /home/chroot --shell=http://www.3lian.com/bin/bash