tft每日頭條

 > 科技

 > 登錄linux服務器ssh

登錄linux服務器ssh

科技 更新时间:2024-08-16 18:51:50

登錄linux服務器ssh(Linux服務器配置-SSH遠程登錄管理)1

一、SSH服務簡介

SSH是Secure Shell的縮寫,由 IETF 網絡工作小組所制定。SSH 是建立在應用層和傳輸層,基礎上的安全協議。

SSH是目前可靠的,專為遠程登錄會話和其他網絡服務提供安全性的協議。常用于遠程登錄,以及用戶之間進行文件傳輸。利用ssh協議可以有效防止遠程管理過程中的信息洩露。

使用SSH服務,需要安裝相應的服務端和客戶端。客戶端和服務端的關系:如果,A機器想被B機器遠程控制,那麼,A機器需要安裝SSH服務端,B機器需要安裝SSH客戶端。

二、SSH服務監聽端口、守護進程及配置文件

  • 相關軟件包: openssh openssh-server openssh-clients
  • SSH服務默認監聽端口: 22
  • Linux中守護進程為: sshd
  • 服務端主程序: /usr/sbin/sshd
  • 服務端配置文件: /etc/ssh/sshd_config
  • 客戶端主程序: /usr/bin/ssh
  • 客戶端配置文件: /etc/ssh/ssh_config

三、SSH配置文件常用設定項

服務端設定項(/etc/ssh/sshd_config)

Port

SSH服務監聽端口,默認使用 22 端口,也可以使用多個端口,即重複使用 Port 這個設定項進行設定。

ListenAddress

指定sshd監聽的網絡地址,默認監聽所有地址。可以使用下面的格式:

ListenAddress host|IPv4_addr|IPv6_addr

ListenAddress host|IPv4_addr:port

ListenAddress [host|IPv6_addr]:port

如果未指定 port ,那麼将使用配置文件中 Port 指令的值,可以使用多個 ListenAddress 指令監聽多個地址。

HostKey

主機私鑰文件保存的位置。如果權限不對,sshd可能會拒絕啟動。

SSH-1默認是:/etc/ssh/ssh_host_key 。

SSH-2默認是:/etc/ssh/ssh_host_rsa_key 和 /etc/ssh/ssh_host_dsa_key 。

一台主機可以擁有多個不同的私鑰。rsa1僅用于SSH-1版本,dsa和rsa僅用于SSH-2版本。

SyslogFacility

指定 sshd 将日志消息通過哪個日志子系統(facility)發送。有效值是:DAEMON,USER,AUTH(默認), LOCAL0, LOCAL1, LOCAL2, LOCAL3,LOCAL4,LOCAL5,LOCAL6,LOCAL7。預設是以AUTHPRIV 來設定的,即保存在/var/log/secure 裡面。

LogLevel

指定 sshd 的日志等級(詳細程度)。可用值如下:QUIET, FATAL, ERROR, INFO(默認), VERBOSE, DEBUG, DEBUG1, DEBUG2, DEBUG3。

DEBUG 與 DEBUG1 等價;DEBUG2 和 DEBUG3 則分别指定了更詳細、更羅嗦的日志輸出。比 DEBUG 更詳細的日志可能會洩漏用戶的敏感信息,因此反對使用。

LoginGraceTime

限制用戶必須在指定的時限内認證成功,0 表示無限制。默認值是 120 秒。

PermitRootLogin

是否允許 root 用戶登錄!預設是允許的,但是建議設定成 no。

StrictModes

當使用者的 host key 改變之後,Server 就不接受聯機,可以抵擋部分的木馬程序!

MaxAuthTries

指定每個連接最大允許的認證次數,默認值是 6 。

MaxSessions

指定最大會話連接數,默認為10個。

RSAAuthentication

是否允許使用純 RSA 公鑰認證。僅适用于SSH-1版本。默認值是yes。

PubkeyAuthentication

是否允許公鑰認證。僅适用于SSH-2版本。默認值為yes。

AuthorizedKeysFile

存放該用戶可以用來登錄的 RSA 或 DSA 公鑰。默認值是:~/.ssh/authorized_keys。

設定若要使用不需要密碼登錄的賬号時,那麼那個賬号存放密碼所在文件名!

PasswordAuthentication

是否允許使用基于密碼的認證,默認為yes。

PermitEmptyPasswords

是否允許密碼為空的用戶遠程登錄。默認為no。

ChallengeResponseAuthentication

是否允許任何的密碼認證。任何login.conf 規定的認證方式,均可适用。默認值為yes。但目前推薦使用 PAM 模塊幫忙管理認證,因此這個選項可以設定為 no !

利用 PAM 管理使用者認證有很多好處,它可以記錄與管理。所以建議将 UsePAM 項設置為yes,将ChallengeResponseAuthentication 項設定為 no。

KerberosAuthentication

指定用戶為PasswordAuthentication提供的密碼是否将通過Kerberos KDC進行驗證。要使用Kerberos認證,服務器需要一個可以校驗 KDC identity 的 Kerberos servtab 。默認值是no。

GSSAPIAuthentication

是否允許使用基于 GSSAPI 的用戶認證。默認值為no。僅用于SSH-2版本。

UsePAM

是否使用 PAM 模塊幫忙管理認證。

AcceptEnv

指定客戶端發送的哪些環境變量将會被傳遞到會話環境中。[注意]隻有SSH-2版本的協議支持環境變量的傳遞(即服務端接收的環境變量)。指令的值是用空格分隔的變量名列表(其中可以使用*和?作為通配符)。也可以使用多個 AcceptEnv 達到同樣的目的。需要注意的是,有些環境變量可能會被用于繞過禁止用戶使用的環境變量。由于這個原因,該指令應當小心使用。

客戶端設定項(/etc/ssh/ssh_config)

Host

選項 Host 隻對能夠匹配後面字串的計算機有效。“*”表示所有的計算機。

Port

設置連接到遠程主機的端口,默認為22端口。

Protocol

指定 sshd 支持的SSH協議的版本,1和2表示僅支持SSH-1或SSH-2協議。2,1表示同時支持SSH-1和SSH-2協議。

Ciphers

指定SSH-2協議允許使用的加密算法,多個算法之間使用逗号分隔。可以使用的算法如下: aes128-cbc, aes192-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr,3des-cbc,arcfour128,arcfour256,arcfour,blowfish-cbc,cast128-cbc;默認值是可以使用上述所有算法。

IdentityFile

設置從哪個文件讀取用戶的RSA安全驗證标識。

StrictHostKeyChecking

如果設置成 yes,ssh就不會自動把計算機的密匙加入 $HOME/.ssh/known_hosts 文件,并且一旦計算機的密匙發生了變化,就拒絕連接。默認是 ask。

CheckHostIP

設置ssh是否查看連接到服務器的主機的IP地址以防止DNS欺騙,建議設置為yes。

PasswordAuthentication

設置是否使用密碼驗證。

RSAAuthentication

設置是否使用RSA算法進行安全驗證。

ForwardAgent

設置連接是否經過驗證代理,如果存在轉發給遠程計算機。

ForwardX11

設置X11連接是否被自動重定向到安全的通道和顯示集(DISPLAY set)。

GSSAPIAuthentication

是否允許使用基于 GSSAPI 的用戶認證。默認值為no,僅适用于SSH-2協議。

SendEnv

指定客戶端發送哪些環境變量至服務端。

以上是我在學習Linux系統中整理的一些學習要點,肯定會有不對的地方,希望各位大俠給與指正,我們共同學習!謝謝!

Linux服務器配置-SSH遠程登錄管理(二)

将介紹配置中用到的相關命令,并通過實例說明怎樣配置SSH基于密碼認證登錄。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved