運(yùn)行環(huán)境 | EnviromentUbuntu 10.10安裝ssh server | How to install ssh server1、在終端命令行中輸入如下命令。
2、啟動(dòng)、停止、重啟ssh server。 1) 啟動(dòng)。 系統(tǒng)輸出如下信息: 3) 重啟。 系統(tǒng)輸出如下信息: 配置ssh server | How to config ssh server1、進(jìn)入 /etc/ssh 目錄。目錄下有兩個(gè)文件 ssh_config - 是ssh client的配置文件。 sshd_config - 是ssh server的配置文件。 打開(kāi) sshd_config 文件,其完整內(nèi)容如下(里面已經(jīng)加入了各配置項(xiàng)的中文說(shuō)明)。 # Package generated configuration file # See the sshd_config(5) manpage for details # What ports, IPs and protocols we listen for # sshd監(jiān)聽(tīng)的端口號(hào) Port 22 # Use these options to restrict which interfaces/protocols sshd will bind to # 設(shè)置sshd服務(wù)器綁定的IP地址 #ListenAddress :: #ListenAddress 0.0.0.0 # 僅使用SSH2 Protocol 2 # HostKeys for protocol version 2 # 設(shè)置包含計(jì)算機(jī)私人密匙的文件 HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_dsa_key #Privilege Separation is turned on for security # 是否讓sshd通過(guò)創(chuàng)建非特權(quán)子進(jìn)程處理接入請(qǐng)求的方法來(lái)進(jìn)行權(quán)限分離。默認(rèn)值是"yes"。認(rèn)證成功后,將以該認(rèn)證用戶的身份創(chuàng)建另一個(gè)子進(jìn)程。這樣做的目的是為了防止通過(guò)有缺陷的子進(jìn)程提升權(quán)限,從而使系統(tǒng)更加安全。 UsePrivilegeSeparation yes # Lifetime and size of ephemeral version 1 server key # 在SSH-1協(xié)議下,短命的服務(wù)器密鑰將以此指令設(shè)置的時(shí)間為周期(秒),不斷重新生成。這個(gè)機(jī)制可以盡量減小密鑰丟失或者黑客攻擊造成的損失。設(shè)為 0 表示永不重新生成,默認(rèn)為 3600(秒)。 KeyRegenerationInterval 3600 # 指定臨時(shí)服務(wù)器密鑰的長(zhǎng)度。僅用于SSH-1。默認(rèn)值是 768(位)。最小值是 512 。 ServerKeyBits 768 # Logging # 指定 sshd(8) 將日志消息通過(guò)哪個(gè)日志子系統(tǒng)(facility)發(fā)送。有效值是:DAEMON, USER, AUTH(默認(rèn)), LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7 SyslogFacility AUTH # 指定 sshd(8) 的日志等級(jí)(詳細(xì)程度)。可用值如下: QUIET, FATAL, ERROR, INFO(默認(rèn)), VERBOSE, DEBUG, DEBUG1, DEBUG2, DEBUG3 DEBUG 與 DEBUG1 等價(jià);DEBUG2 和 DEBUG3 則分別指定了更詳細(xì)、更羅嗦的日志輸出。比 DEBUG 更詳細(xì)的日志可能會(huì)泄漏用戶的敏感信息,因此反對(duì)使用。 LogLevel INFO # Authentication: # 限制用戶必須在指定的時(shí)限內(nèi)認(rèn)證成功,0 表示無(wú)限制。默認(rèn)值是 120 秒。 LoginGraceTime 120 # 是否允許 root 登錄??捎弥等缦拢?yes"(默認(rèn)) 表示允許。"no"表示禁止。"without-password"表示禁止使用密碼認(rèn)證登錄。"forced-commands-only"表示只有在指定了 command 選項(xiàng)的情況下才允許使用公鑰認(rèn)證登錄。同時(shí)其它認(rèn)證方法全部被禁止。這個(gè)值常用于做遠(yuǎn)程備份之類的事情。 PermitRootLogin yes # 指定是否要求在接受連接請(qǐng)求前對(duì)用戶主目錄和相關(guān)的配置文件進(jìn)行宿主和權(quán)限檢查。強(qiáng)烈建議使用默認(rèn)值"yes"來(lái)預(yù)防可能出現(xiàn)的低級(jí)錯(cuò)誤。 StrictModes yes # 是否允許使用純 RSA 公鑰認(rèn)證。僅用于SSH-1。默認(rèn)值是"yes"。 RSAAuthentication yes # 是否允許公鑰認(rèn)證。僅可以用于SSH-2。默認(rèn)值為"yes"。 PubkeyAuthentication yes # 存放該用戶可以用來(lái)登錄的 RSA/DSA 公鑰。該指令中可以使用下列根據(jù)連接時(shí)的實(shí)際情況進(jìn)行展開(kāi)的符號(hào): %% 表示'%'、%h 表示用戶的主目錄、%u 表示該用戶的用戶名。經(jīng)過(guò)擴(kuò)展之后的值必須要么是絕對(duì)路徑,要么是相對(duì)于用戶主目錄的相對(duì)路徑。默認(rèn)值是".ssh/authorized_keys"。 #AuthorizedKeysFile %h/.ssh/authorized_keys # Don't read the user's ~/.rhosts and ~/.shosts files # 是否在 RhostsRSAAuthentication 或 HostbasedAuthentication 過(guò)程中忽略 .rhosts 和 .shosts 文件。不過(guò) /etc/hosts.equiv 和 /etc/shosts.equiv 仍將被使用。推薦設(shè)為默認(rèn)值"yes"。 IgnoreRhosts yes # For this to work you will also need host keys in /etc/ssh_known_hosts # 是否使用強(qiáng)可信主機(jī)認(rèn)證(通過(guò)檢查遠(yuǎn)程主機(jī)名和關(guān)聯(lián)的用戶名進(jìn)行認(rèn)證)。僅用于SSH-1。這是通過(guò)在RSA認(rèn)證成功后再檢查 ~/.rhosts 或 /etc/hosts.equiv 進(jìn)行認(rèn)證的。出于安全考慮,建議使用默認(rèn)值"no"。 RhostsRSAAuthentication no # similar for protocol version 2 # 這個(gè)指令與 RhostsRSAAuthentication 類似,但是僅可以用于SSH-2。推薦使用默認(rèn)值"no"。推薦使用默認(rèn)值"no"禁止這種不安全的認(rèn)證方式。 HostbasedAuthentication no # Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication # 是否在 RhostsRSAAuthentication 或 HostbasedAuthentication 過(guò)程中忽略用戶的 ~/.ssh/known_hosts 文件。默認(rèn)值是"no"。為了提高安全性,可以設(shè)為"yes"。 #IgnoreUserKnownHosts yes # To enable empty passwords, change to yes (NOT RECOMMENDED) # 允是否允許密碼為空的用戶遠(yuǎn)程登錄。默認(rèn)為"no"。 PermitEmptyPasswords no # Change to yes to enable challenge-response passwords (beware issues with # some PAM modules and threads) # 是否允許質(zhì)疑-應(yīng)答(challenge-response)認(rèn)證。默認(rèn)值是"no"。 ChallengeResponseAuthentication no # Change to no to disable tunnelled clear text passwords # 是否允許使用基于密碼的認(rèn)證。默認(rèn)為"yes"。 #PasswordAuthentication yes # Kerberos options # 是否要求用戶為 PasswordAuthentication 提供的密碼必須通過(guò) Kerberos KDC 認(rèn)證,也就是是否使用Kerberos認(rèn)證。要使用Kerberos認(rèn)證,服務(wù)器需要一個(gè)可以校驗(yàn) KDC identity 的 Kerberos servtab 。默認(rèn)值是"no"。 #KerberosAuthentication no # 如果使用了 AFS 并且該用戶有一個(gè) Kerberos 5 TGT,那么開(kāi)啟該指令后,將會(huì)在訪問(wèn)用戶的家目錄前嘗試獲取一個(gè) AFS token 。默認(rèn)為"no"。 #KerberosGetAFSToken no # 如果 Kerberos 密碼認(rèn)證失敗,那么該密碼還將要通過(guò)其它的認(rèn)證機(jī)制(比如 /etc/passwd)。默認(rèn)值為"yes"。 #KerberosOrLocalPasswd yes # 是否在用戶退出登錄后自動(dòng)銷毀用戶的 ticket 。默認(rèn)值是"yes"。 #KerberosTicketCleanup yes # GSSAPI options # 是否允許使用基于 GSSAPI 的用戶認(rèn)證。默認(rèn)值為"no"。僅用于SSH-2。 #GSSAPIAuthentication no # 是否在用戶退出登錄后自動(dòng)銷毀用戶憑證緩存。默認(rèn)值是"yes"。僅用于SSH-2。 #GSSAPICleanupCredentials yes # 是否允許進(jìn)行 X11 轉(zhuǎn)發(fā)。默認(rèn)值是"yes",設(shè)為"yes"表示允許。如果允許X11轉(zhuǎn)發(fā)并且代理的顯示區(qū)被配置為在含有通配符的地址(X11UseLocalhost)上監(jiān)聽(tīng)。那么將可能有額外的信息被泄漏。由于使用X11轉(zhuǎn)發(fā)的可能帶來(lái)的風(fēng)險(xiǎn),此指令應(yīng)設(shè)為"no"。需要注意的是,禁止X11轉(zhuǎn)發(fā)并不能禁止用戶轉(zhuǎn)發(fā)X11通信,因?yàn)橛脩艨梢园惭b他們自己的轉(zhuǎn)發(fā)器。如果啟用了 UseLogin ,那么X11轉(zhuǎn)發(fā)將被自動(dòng)禁止。 X11Forwarding yes # 指定X11 轉(zhuǎn)發(fā)的第一個(gè)可用的顯示區(qū)(display)數(shù)字。默認(rèn)值是 10 。這個(gè)可以用于防止 sshd 占用了真實(shí)的 X11 服務(wù)器顯示區(qū),從而發(fā)生混淆。 X11DisplayOffset 10 # 是否在每一次交互式登錄時(shí)打印 /etc/motd 文件的內(nèi)容。默認(rèn)值是"no"。 PrintMotd no # 是否在每一次交互式登錄時(shí)打印最后一位用戶的登錄時(shí)間。默認(rèn)值是"yes"。 PrintLastLog yes # 指定系統(tǒng)是否向客戶端發(fā)送 TCP keepalive 消息。默認(rèn)值是"yes"。這種消息可以檢測(cè)到死連接、連接不當(dāng)關(guān)閉、客戶端崩潰等異常??梢栽O(shè)為"no"關(guān)閉這個(gè)特性。 TCPKeepAlive yes # 是否在交互式會(huì)話的登錄過(guò)程中使用。默認(rèn)值是"no"。如果開(kāi)啟此指令,那么X11Forwarding 將會(huì)被禁止,因?yàn)閘ogin不知道如何處理 xauth cookies 。需要注意的是,login是禁止用于遠(yuǎn)程執(zhí)行命令的。如果指UsePrivilegeSeparation ,那么它將在認(rèn)證完成后被禁用。 #UseLogin no # 最大允許保持多少個(gè)未認(rèn)證的連接。默認(rèn)值是 10 。到達(dá)限制后,將不再接受新連接,除非先前的連接認(rèn)證成功或超出 LoginGraceTime 的限制。 #MaxStartups 10:30:60 # 將這個(gè)指令指定的文件中的內(nèi)容在用戶進(jìn)行認(rèn)證前顯示給遠(yuǎn)程用戶。這個(gè)特性僅能用于SSH-2,默認(rèn)什么內(nèi)容也不顯示。"none"表示禁用這個(gè)特性。 #Banner /etc/issue.net # Allow client to pass locale environment variables # 指定客戶端發(fā)送的哪些環(huán)境變量將會(huì)被傳遞到會(huì)話環(huán)境中。[注意]只有SSH-2協(xié)議支持環(huán)境變量的傳遞。細(xì)節(jié)可以參考 ssh_config 中的 SendEnv 配置指令。指令的值是空格分隔的變量名列表(其中可以使用'*'和'?'作為通配符)。也可以使用多個(gè) AcceptEnv 達(dá)到同樣的目的。需要注意的是,有些環(huán)境變量可能會(huì)被用于繞過(guò)禁止用戶使用的環(huán)境變量。由于這個(gè)原因,該指令應(yīng)當(dāng)小心使用。默認(rèn)是不傳遞任何環(huán)境變量。 AcceptEnv LANG LC_* Subsystem sftp /usr/lib/openssh/sftp-server # Set this to 'yes' to enable PAM authentication, account processing, # and session processing. If this is enabled, PAM authentication will # be allowed through the ChallengeResponseAuthentication and # PasswordAuthentication. Depending on your PAM configuration, # PAM authentication via ChallengeResponseAuthentication may bypass # the setting of "PermitRootLogin without-password". # If you just want the PAM account and session checks to run without # PAM authentication, then enable this but set PasswordAuthentication # and ChallengeResponseAuthentication to 'no'. UsePAM yes 測(cè)試連接ssh server | How to connect to ssh server1、在終端命令行中輸入如下命令。
2、SFTP連接SSH Server。 啟動(dòng) FileZilla,設(shè)置以fzSftp 方式連接10.3.18.52,連接成功。如下圖所示: |
|