1. 程式人生 > >ssh,ftp伺服器配置

ssh,ftp伺服器配置

SSH概述 傳統的遠端登入(telnet,rlogin)是不安全的,它們在網路上用明文傳輸口令和資料,SSH則是安全的。OpenSSH提供兩種級別的驗證方式:
  • 基於口令的安全驗證:知道伺服器的帳號密碼即可遠端登入,口令和資料在傳輸過程中都會被加密。
  • 基於金鑰的安全驗證:此時需要在建立一對金鑰,把公有金鑰放到遠端伺服器上自己的宿主目錄中,而私有金鑰則由自己儲存。
Ubuntu服務端配置SSH 1. 軟體安裝 檢查軟體是否安裝: $sudo apt-cache policy openssh-client openssh-server 安裝軟體: $sudo apt-get install openssh-server
     //服務端 $sudo apt-get install openssh-client     //客戶端(ubuntu10.10以安裝) 該軟體包中還攜帶了一些其他的SSH工具,如ssh-keygen用來生成私鑰/公鑰對,scp可以通過ssh遠端複製檔案,stfp可以實現ftp傳輸檔案。 2. 配置檔案 $/etc/ssh$ ls -l total 148 -rw-r--r-- 1 root root 125749 2010-09-15 02:34 moduli  //ssh伺服器的Diffie-Helllman金鑰檔案 -rw-r--r-- 1 root root   1669 2010-09-15 02:34 ssh_config  
//ssh客戶端配置檔案 -rw-r--r-- 1 root root   2453 2011-03-09 14:09 sshd_config  //ssh伺服器端配置檔案 -rw------- 1 root root    672 2011-03-09 14:09 ssh_host_dsa_key  //ssh伺服器端dsa演算法私鑰 -rw-r--r-- 1 root root    613 2011-03-09 14:09 ssh_host_dsa_key.pub  //ssh伺服器dsa公鑰 -rw------- 1 root root   1675 2011-03-09 14:09 ssh_host_rsa_key  //ssh伺服器rsa演算法私鑰 -rw-r--r-- 1 root root    405 2011-03-09 14:09 ssh_host_rsa_key.pub
  /ssh伺服器rsa演算法公鑰 根據需要修改、確認sshd_config配置檔案:
  • 啟用RSA加密方式:RSAAuthentication yes
  • 啟用公鑰配對認證方式:PubkeyAuthentication yes
  • 設定公匙檔案路徑:AuthorizedKeysFile %h/.ssh/<authorized_keys>
  • (選擇性)密碼登陸方式:PasswordAuthentication <yes | no>    #禁止密碼驗證登入,如果啟用的話,OpenSSH的 RSA認證登入就失去意義
  • (選擇性)root遠端登入:PermitRootLogin <yes | no>
4. 獲取需要登入到此伺服器的ssh公匙 $mkdir .ssh     #在需要開啟ssh連線的使用者目錄下建立 .ssh目錄 $chmod 700 .ssh $cd .ssh $mv <from_client_xxx.pub> <authorized_keys>     #名稱需要和配置檔案中設定一致。此外如果採用的格式不是openssh,需要執行ssh-keygen -i -f Identity.pub >>authorized_keys進行格式轉換 $chmod 644 authorized_keys     #更改公匙檔案許可權 3. 常用命令 $sudo /etc/init.d/ssh <start | stop | restart | status> 4. scp命令使用 $scp [sourceIP]:<sourceFile> [tergetIP]:<targetFile> 其中第一個引數是原始檔,第二個是目標檔案,當引數是ssh登入到的主機時可以省略ip或者主機名。當兩個引數是兩臺遠端主機的ip時,可以實現兩臺遠端主機之間的檔案傳輸。 example: scp /home/zone/1.sh 192.168.0.143:/home/erpang,從伺服器下載1.sh到143主機的erpang目錄下。 Ubuntu客戶端配置SSH登入 1. 基於口令的認證 ssh 192.168.0.143/主機名(server ip 192.168.0.143) 初次登入伺服器時會出現許多資訊,這是因為ssh不能識別這臺主機,輸入yes後將會把這臺伺服器的資訊寫入~/.ssh/known_hosts檔案,下次登入時就不會出現這樣的資訊。 2. 基於金鑰的認證 假設生成的私鑰為~/.ssh/id_rsa,公鑰為~/.ssh/id_rsa.pub,需要將公鑰複製到遠端伺服器上,這樣當登入server時,client會向server提出請求,用私鑰認證,server收到請求後,尋找公鑰進行身份認證。
  1. 生成密匙:ssh-keygen [-t <rsa | dsa>] [-C "comment message"],預設為rsa。
  2. 拷貝公匙:scp id_rsa.pub 192.168.0.143:.ssh/authorized_keys,確保許可權為644。
  3. 登入:ssh 192.168.0.143 如果執行ssh-keygen過程中設定了私鑰密碼,則登入過程中會要求輸入私鑰密碼,否則直接登入完成。
SecureCRT配置SSH登入

1. 生成公匙/私匙對

使用SecureCRT的工具->建立公鑰 ,加密演算法選擇RSA,由伺服器端sshd配置檔案中選擇的演算法決定。 私匙密碼可以不設定,如果設定了,當登入的時候會要求輸入此密碼。comment資訊,可以隨意設定。 密匙長度預設為1024位,可以不更改。密匙格式選擇OpenSSH。生成的xxx.pub為公匙,xxx為私匙。 2. 上傳公匙到伺服器 上傳公匙到需要ssh登入的使用者主目錄下.ssh/資料夾中,注意一定要以ASCII格式上傳。 在伺服器端新增此公匙,並重啟sshd服務。完成後,在客戶端進行登陸測試,輸入金鑰通行短語(如果設定了),看看是否登入成功,如果不成功從下面幾個方面檢查:
  • 許可權是否是644
  • 主機地址是否正確
  • 密匙格式是否為OpenSSH,如果不是需要轉換格式。密匙加密方式是否和服務端配置一致,RSA/DSA
GitHub配置SSH登入 Https和SSH方式Clone專案的區別:
  • 前者可以隨意克隆github上的專案,而不管是誰的;而後者則是你必須是你要克隆的專案的擁有者或管理員,且需要先新增 SSH key ,否則無法克隆。
  • https url 在push的時候是需要驗證使用者名稱和密碼的;而 SSH 在push的時候,如果配置SSH key的時候設定了密碼,則需要輸入密碼的,否則不需要輸入密碼。
Github中新增 SSH key 步驟: 1. 檢查是否已經存在SSH key  在git Bash 中,輸入如下命令:
$ cd ~/.ssh
$ ls
檢查是否已經存在密匙檔案,例如 id_rsa.pub 或 id_dsa.pub 檔案。如果檔案已經存在,那麼可以跳過步驟2,直接進入步驟3。 2. 建立 SSH key 
$ ssh-keygen -t rsa -C "[email protected]"
程式碼引數含義: -t 指定金鑰型別,預設是 rsa ,可以省略。 -C 設定註釋文字,比如郵箱。 -f 指定金鑰檔案儲存檔名。 以上程式碼省略了 -f 引數,因此,執行上面那條命令後會讓你輸入一個檔名,用於儲存剛才生成的 SSH key 程式碼,如:
Generating public/private rsa key pair.
# Enter file in which to save the key (/c/Users/you/.ssh/id_rsa): [Press enter]
當然,也可以不輸入檔名,使用預設檔名(推薦),那麼就會生成 id_rsa 和 id_rsa.pub 兩個祕鑰檔案。  接著又會提示輸入兩次密碼(該密碼是push檔案的時候要輸入的密碼,而不是github管理者的密碼), 當然,也可以不輸入密碼,直接按回車。那麼push的時候就不需要輸入密碼,直接提交到github上了,如:
Enter passphrase (empty for no passphrase): 
# Enter same passphrase again:
接下來,會顯示如下程式碼提示:
Your identification has been saved in /c/Users/you/.ssh/id_rsa.
# Your public key has been saved in /c/Users/you/.ssh/id_rsa.pub.
# The key fingerprint is:
# 01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db [email protected]
當看到上面這段程式碼時,說明 SSH key 已經建立成功,只需要新增到github的SSH key上就可以了。 3. 新增 SSH public key 到 github 中 首先拷貝 id_rsa.pub 檔案的內容,可以用編輯器開啟檔案複製,也可以用git命令複製該檔案的內容:
$ clip < ~/.ssh/id_rsa.pub
然後登入github賬號,進入設定(Account Settings)-->SSH key 選單頁面,點選 Add SSH key 按鈕新增一個 SSH key 。把複製的 SSH key 程式碼貼上到 key 所對應的輸入框中,記得 SSH key 程式碼的前後不要留有空格或者回車。Title 所對應的輸入框可以輸入一個該 SSH key 顯示在 github 上的一個別名,預設的會使用你的郵件名稱。 4. 測試一下該SSH key
$ ssh -T [email protected]
輸入以上命令後,會有一段警告資訊:
The authenticity of host 'github.com (207.97.227.239)' can't be established.
# RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
# Are you sure you want to continue connecting (yes/no)?
這是正常的,輸入 yes 回車既可。如果建立 SSH key 的時候設定了密碼,接下來就會提示輸入密碼:
Enter passphrase for key '/c/Users/Administrator/.ssh/id_rsa':
如果密碼輸錯了,會再要求輸入,直到正確為止。注意,輸入密碼時如果輸錯一個字就會不正確,使用刪除鍵是無法更正的。 密碼正確後會看到下面這段話:
Hi username! You've successfully authenticated, but GitHub does not
# provide shell access.
如果使用者名稱是正確的,說明已經成功設定SSH金鑰。如果看到“access denied”,則表示拒絕訪問,那麼就需要使用 https 去訪問,而不是 SSH 。

1.檢查安裝vsftpd伺服器

以root進入終端後(其他賬戶進入終端的可以用su root 輸入密碼後進入root 模式)之後,在終端命令視窗輸入以下命令進行驗證:# rpm –qa | grep vsftpd。如果結果顯示為“vsftpd-1.1.3-8”,則說明系統已經安裝vsftpd伺服器。若沒有回覆,即系統中沒有安裝。

2.rhel版本的系統光碟中帶有vsftpd安裝包,所以接下來,是掛載系統光碟到/media下以便調取。

3.上述截圖顯示本系統中沒有安裝vsftpd伺服器,則用rpm命令安裝。

即在終端命令視窗中安裝vsftpd的命令: #rpm -ivh vsftpd-1.1.3-8.i386.rpm。

(1)先mount光碟機,在/mnt/cdrom/Server目錄裡有rpm,rpm -ivh vsftpd*

4.建立使用者

(1)首先要啟動服務

(2)建立兩個使用者

   

5.vsftpd的配置

安裝完之後在/etc/vsftpd/路徑下會存在三個配置檔案。

vsftpd.conf: 主配置檔案

ftpusers: 指定哪些使用者不能訪問FTP伺服器,這裡的使用者包括root在內的一些重要使用者。

user_list: 指定的使用者是否可以訪問ftp伺服器,通過vsftpd.conf檔案中的userlist_deny的配置來決定配置中的使用者是否可以訪問,userlist_enable=YES ,userlist_deny=YES ,userlist_file=/etc/vsftpd/user_list 這三個配置允許檔案中的使用者訪問FTP。

(1)檢視主配置檔案的預設配置:
(使用:cat /etc/vsftpd/vsftpd.conf |grep -v '^#';)

(2)修改配置檔案:

登入ftp後會發現,使用者可以訪問其他目錄,並且具有mpsp組的許可權,這樣做是不允許的,我們需要將使用者的訪問範圍控制在其主目錄下。方法如下:

a. vi /etc/vsftpd/vsftpd.conf進入ftp配置檔案目錄並編輯此檔案,

b.找到#chroot_list_enable=YES,刪除前面的那個#號,表示開啟此限制功能;

找到chroot_list_file:chroot_list_file=/etc/vsftpd/chroot_list,刪除前面的那個#號,表示開啟此限制功能;加入chroot_local_use=NO

(進入編輯框後按i進行開始編輯)

 c.進入配置檔案後,在末尾加入如下三行:

① userlist_enable=YES

        userlist_deny=NO

        userlist_file=/etc/vsftpd/vsftpd.user_list

d.禁止匿名使用者登入

(編輯完,按esc後使用“:wq”儲存並退出)


e. 對一些檔案進行編輯

①  在etc目錄找到vsftpd.chroot_list檔案,進入編輯狀態

加入你要限制的使用者名稱,一行一個使用者,比如ftp2

(編輯完,按esc後使用“:wq”儲存並退出)

②進入vsftpd目錄,找到vsftpd.user_list,鍵入ftp11,意味允許ftp11登陸ftp伺服器

(編輯完,按esc後使用“:wq”儲存並退出)

再在本機上,通過控制檯,用ftp1通過ftp訪問系統,使用者成功登陸,並且成功的被限制在自己的主目錄下,無法訪問其他目錄。

依次方法建立了2個使用者,ftp1、ftp2。

檢視ftp狀態 sestatus -b | grep ftp:

然後輸入:

關閉防火牆:

以下步驟是實現主機和虛擬機器的互相ping通:

最終結果:


















































































































































相關推薦

sshftp伺服器配置

SSH概述 傳統的遠端登入(telnet,rlogin)是不安全的,它們在網路上用明文傳輸口令和資料,SSH則是安全的。OpenSSH提供兩種級別的驗證方式: 基於口令的安全驗證:知道伺服器的帳號密碼即可遠端登入,口令和資料在傳輸過程中都會被加密。基於金鑰的安全驗證:

LinuxFTP伺服器配置

FTP伺服器配置 FTP服務的埠號    21埠:傳輸FTP的控制命令    20埠:傳輸檔案資料 主動模式(PORT模式): PORT模式建立資料傳輸通道是由伺服器端發起的,伺服器使用20埠連線客戶端某一個大於1024的埠; 被動模式(PASV模式): 資料傳輸通道的建立是

LinuxDHCP伺服器配置

Linux,DHCP伺服器配置 配置環境,redhat5.8(適用於linux新手練手) 安裝 如果用rpm安裝無法自動安裝依賴包。 有yum源的情況下直接安裝,沒有yum源先配置/etc/yum.repos.d/local.repo: yum install dhcp

Linux郵件伺服器配置

Linux,郵件伺服器配置 用Linux配置區域網內的郵件伺服器。postfix(傳送,這裡不使用sendmail,sendmail和postfix不能同時開啟),dovecot(接收),squirrelmail(基於phpweb的郵件應用)。 郵件伺服器的域名為 mail.demo

LinuxWWW伺服器配置——虛擬主機的三種配置方式

Linux,WWW伺服器配置——虛擬主機 Apache伺服器可利用虛擬主機功能在一臺伺服器上設定多個Web站點,Apache支援兩種型別的虛擬主機:基於IP地址的虛擬主機和基於域名的虛擬主機。基於IP地址的各虛擬主機使用同一IP地址的不同埠,或者是使用不同的IP地址。使用者可直接使用

LinuxWWW伺服器配置

WWW伺服器配置 理論 WWW服務又稱Web服務,客戶機和伺服器都遵循HTTP協議,預設採用80埠通訊。 配置 軟體名稱為Apache,守護程序(服務名)為httpd。 RHEL Server 5預設不安裝Apache軟體包,需要手工安裝。 安裝啟動簡單測試

LinuxDNS伺服器配置

文章目錄 寫在前面 安裝bind,bind-chroot DNS基本配置 找對地,起對名,寫對內容 啟動DNS伺服器 更改本機DNS伺服器地址 測試DNS

LinuxMySql伺服器配置

Linux,MySql伺服器配置 不必多言,很常用的關係型資料庫。 環境:redhat5.8 MySQL服務的安裝與啟動 系統自帶的:mysql-5.0.77-4.el5_6.6,也就是mysql客戶端軟體。 需要安裝mysql-server,mysql伺服器版本:yum i

win10下開通FTP伺服器配置防火牆的方法

方法一: 在防火牆的入站規則上新建規則,將C:\Windows\System32\svchost.exe程式開通允許。建好後,在WINDOWS防火牆的允許應用或功能通過防火牆的清單裡會出現同名稱的程式。 方法二:在控制面板\所有控制面板項\Windows 防火牆\

15、ftp伺服器配置講解

mmall.properties ftp.server.ip=你的FTP伺服器ip地址 ftp.user=mmallftp ftp.pass=ftppassword ftp.server.http.

python---ftplib,ftp使用ftp破解使用者與密碼ftp伺服器查詢web頁面

python—ftplib,ftp使用 一、環境配置 1、在windows伺服器192.168.40.239上開啟ftp的匿名連線 2、在客戶端192.168.40.128使用匿名進行連線ftp伺服器 二、使用Python程式碼連線ftp伺服器

Windows Server2012R2 FTP伺服器配置

1.開啟windows server2012R2 伺服器管理器介面 新增角色和功能 2.在新增角色和功能嚮導裡,選擇 從伺服器池中選擇伺服器 3選擇Web 伺服器(IIS)安裝 FTP伺服器 4.安裝完成後,在伺服器管理器右上

阿里雲Linux伺服器配置JDK親測可用

網上有很多的文章,但是嘗試了很多了 因為配置失敗過重置過一次伺服器。找到一篇配著成功的 1、檢查一下系統中的jdk版本 [[email protected] software]# java -version 顯示: openjdk version "1

linux 檢視ip和開啟sshftp服務

 檢視ip命令:ifconfig 檢視服務狀態:service vsftpd status vsftpd服務 l      服  務:vsftpd l      位  置:光碟1 l      軟  件:vftpd-2.0.1-5.i386.rpm l      配  置

Ubuntu 下面FTP伺服器配置

首先要說明一下 : 你如果想要在windows下面訪問Linux下面配置的ftp伺服器 : 1.要關閉windows的防火牆 2.虛擬機器下面的網路配置 必須要配置才能相互ping同 3.在windows 黑視窗下面ping linux下面的IP地址 4.在Linu

ftp伺服器搭建(離線安裝vsftpd)配置

1.下載vsftp:http://rpmfind.net/linux/rpm2html/search.php?query=vsftpd(x86-64) 2.檢查是否已經安裝了vsftp rpm -qa | grep vsftpd 如果沒有提示則說明沒有安裝 如果提示版本號則說明已經安裝

POI匯出時寫一份到ftp伺服器一份下載給客戶端 ftp伺服器搭建(離線安裝vsftpd)配置 poi實現百萬級資料匯出 oi實現百萬級資料匯出

導語:   昨天接到專案經理這麼一個需求,讓我在POI匯出Excel的時候寫一份到我之前搭建的ftp伺服器上。所以就有了這篇部落格首先我們來分析下之前的業務邏輯:我們建立並構造了一個workbook,然後構建了一個OutputStream輸出流,然後我們把資料寫入輸出流中就可以被客戶端下載。   現在我們

Windows Server 2012 R2配置IIS及配置FTP上傳檔案超詳細雲伺服器配置步驟阿里雲騰訊雲

Windows Server 2012 R2配置IIS及配置FTP上傳檔案,超詳細雲伺服器配置步驟,阿里雲,騰訊雲 注意事項 配置並使用IIS 配置並使用FTP傳送檔案 注意事項 1、注意伺服器的防火牆是否關閉或者開

ubuntu搭建ftp伺服器配置虛擬使用者許可權

安裝並啟動 FTP 服務 安裝 VSFTPD 使用 apt-get 安裝 [vsftpd]: sudo apt-get install vsftpd -y vsftpd 是在 Linux 上被廣泛使用的 FTP 伺服器,根據其官網介紹,它可能是 UNIX-lik

mac下ssh連結遠端伺服器並通過scp進行遠端複製省的ftp

今天,本地的專案,需要往伺服器上傳,很簡單的東西,但是我確實不會。。。 windows下,一般可使用ftp上傳 linux上習慣了 rz&sz,直接yum安裝lrzsz。但是,mac的iterm不知道為什麼,即便是安裝上了,網上也根據教程,該了什麼上傳模式,還是不對