首頁 運維 linux運維 linux自帶ssh嗎

linux自帶ssh嗎

Apr 06, 2023 pm 03:55 PM
linux ssh

linux自帶ssh。 linux系統會自備ssh軟體,預設就是OpenSSH相關軟體包,並將ssh服務加入為開機自啟動,可透過「ssh -V」指令來查看安裝的ssh版本資訊。執行「systemctl start sshd」指令即可啟動sshd服務,預設連接埠使用的22埠。

linux自帶ssh嗎

本教學操作環境:linux7.3系統、Dell G3電腦。

linux自帶ssh嗎

伺服器通常都在機房,如果每次維護伺服器都要去機房,就沒有舒服了。所以linux有一個功能可以遠端使用shell的方式發,就是ssh(Secure Shell 的縮寫)。也就是在伺服器上會啟動一個服務,專門接收遠端的存取數據,然後再把這些數據轉發給系統內核,完成這些操作,這樣研發的同事就不需要去機房就可以維護伺服器。

ssh需要伺服器開放對應的網路端口,預設是22端口,也可以修改為其他端口,例如9022等。

因為考慮伺服器對外保留端口,而且是管理類別的(透過shell,就可以控制伺服器了),因此ssh提供有各種安全限制方式,比較常見的是禁止root帳號登入、只允許可信任ip登錄,以及使用證書方式。這樣可以避免陌生人登入伺服器,即使他以及取得了相關的帳號和權限。

外部電腦使用ssh登入伺服器,需要有對應的客戶端軟體。如果是linux或mac,系統會自備ssh軟體(雖然是命令列方式的),預設就是OpenSSH,可以透過ssh -V 指令來檢視安裝的ssh版本資訊:

[root@xiaoluo xiaoluo]# ssh -V
OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010
登入後複製

從上述資訊可以看到,我這台安裝在虛擬機器上的CentOS6.4預設安裝的SSH其協定是1.0的。

OpenSSH伺服器設定檔

#服務名稱:sshd

服務端主程式:/usr/sbin/sshd

服務端設定檔:/etc/ssh/sshd_config

openSSH是實作SSH協定的開源軟體項目,適用於各種UNIX、Linux作業系統。

centos 7 系統預設已安裝openssh相關軟體包,並將ssh服務新增為開機自啟動。

執行「systemctl start sshd」指令即可啟動sshd服務。預設連接埠使用的22連接埠。

ssh_confiog 和 sshd_config 都是ssh伺服器的設定檔

二者差異在於前者是針對客戶端的設定文件,後者是針對服務端的設定檔。

ssh服務端主要包含兩個服務功能,ssh遠端連線和sftp服務

作用:SSHD服務使用SSH協定可以用來進行遠端控制,或在電腦之間傳輸檔案。相比較之前用Telnet方式來傳輸檔案安全很多,因為Telnet是明文傳輸,SSH是加密傳輸。

ssh遠端登入方式

ssh登入的方式有兩種。

第一次登入伺服器時,系統沒有保存遠端主機的訊息,為了確認主機身分會提示使用者是否繼續連接,輸入yes後登錄,這時系統將遠端伺服器資訊寫入使用者主目錄下的:$HOME/.ssh/known_hosts 檔案中,下次再登入時,因為儲存有該主機資訊就不會再提示了。

1、方法一

格式: ssh [ 遠端主機使用者名稱] @ [遠端伺服器主機名稱或IP位址] -p port
當Linux主機上遠端連接另一台Linux主機時,如目前所登入的使用者是root的話,當連接另一台主機時也是用root使用者登入時,可以直接使用ssh IP 登入。連接埠預設即可,如果不是預設的情況下,需要使用-p 指定連接埠。

遠端登入其它主機

ssh root@192.168.100.10    第一次互動輸入yes 第二次互動輸入root密碼登入成功

linux自帶ssh嗎

#登入之後再登出登錄,在本機家目錄會產生一個.sshd 的目錄,裡面有檔案記錄了登入的資訊。

linux自帶ssh嗎

 2、使用網域名稱登入

#①修改本機對映關係

linux自帶ssh嗎

linux自帶ssh嗎

####### ####②進行登入##################3、故障解決#########在工作中,有時候需要SSH登陸到別的Linux主機上去,但有時SSH登入會被禁止,並彈出如下類似提示:######warning: Permanently added '192.168.100.10'(ECDSA) to the list of known hosts. Authentication failed.###

这时直接删除家目录下面的 .ssh 目录下面的文件,即可解决。

4、sshd服务支持的两种登录验证方式

1)密码验证

对服务器中本地系统用户的登录名称、密码进行验证。这种方式使用最为简便,但从客户端角度来看,正在连接的服务器有可能被假冒;从服务器角度来看,当遭遇密码穷举(暴力破解)攻击时,防护能力比较弱。
18位密码复杂性(大写、小写、字符、数字),修改端口为高位端口,可以提高安全性。

2)秘钥对验证

要求提供相匹配的秘钥信息才能通过验证。通常先在客户端中创建一对秘钥文件(公钥、私钥),然后将公钥文件放到服务器中指定位置,远程登录时,系统将使用公钥、私钥进行加密/解密关联验证,

大大增强了远侧还能够管理的安全性。该方式不易被假冒,且可以免交互登录,在shell中被广泛使用

当密码验证、秘钥验证都启用时,服务器将优先使用秘钥对验证。
对于安全性要求高的服务器,建立将密码验证方式禁用,只允许启用秘钥对验证方式。
登入後複製

配置文件中修改启用密码验证还是秘钥验证

配置文件:/etc/ssh/sshd_config

PasswordAuthentication yes                        #启用密码验证

PubkeyAuthentication yes                          #启用密钥对验证

AuthorizedKeysFile     .ssh/authorized_keys       #指定公钥库文件(ls -a可查看)
登入後複製

配置文件中其它的设置

LoginGraceTime 2m                #登录验证时间为2分钟(默认2分钟)
PermitRootLogin no               #禁止root用户登录
MaxAuthTries 6                   #最大重试次数为6次
PermitEmptyPasswords no          #禁止空密码登录
PrintLastLog yes                 #显示上次登入的信息!默认为 yes
AllowUsers                       #只允许或禁止某些用户登录
登入後複製

配置文件修改完之后,需要重启配置sshd服务

systemctl restart sshd #重启sshd服务
登入後複製

构建秘钥对验证的SSH

公钥和私钥的关系

在对称加密技术中,有两种秘钥,分为私钥和公钥,私钥是秘钥的创建人拥有,不可公布,公钥是创建者公布给他人的。
公钥用来给数据加密,用公钥加密的数据只能使用私钥解。
构建秘钥对验证SSH的原理

首先ssh通过加密算法在客户端产生秘钥对(公钥和私钥),公钥发送给服务端,自己保留私钥。
如果要想连接带有公钥的SSH服务器,客户端SSH软件就会向SSH服务器发出请求,请求联机的用户密钥进行安全验证。
SSH服务器收到请求之后,便在被连接的用户的家目录下寻找事先放上去的对应用户的公用秘钥
然后把它和连接的SSH客户端发送过来的公用秘钥进行比较,如果两个秘钥一致,SSH服务器就用公钥加密“质询”并把它发送给SSH客户端。

  • 简单理解

    生成密钥可以在客户端和服务端两边生成,但是我们需要将使用客户端登录到服务端,那么,客户端就一直需要的是私钥,服务端要存在公钥,所以不关密钥对在客户端还是服务端生成,客户端拿到的都会是私钥,服务端拿到的都是公钥。

  • 通俗理解

    公钥(public key)相当于一扇门,私钥(pribate key)相当于是开门的钥匙,当一台机器A需要登录到机器B的时候,就得拿着钥匙去开门,但是前提的是机器B必须要有门,所以需要给机器B装上门,那就是把机器A的公钥给到机器B。然后机器A使用私钥就可以打开机器B的公钥门。

1、scp远程复制

scp复制 :是secure copy (安全复制)的简写,用在Linux下进行远程拷贝的命令,而且scp传输时加密的。
应用场景
在系统误删环境配置文件且没有备份的时候,可以远程从其它主机上拷贝过来。

本地文件复制到服务器
scp 1.txt root@192.168.100.10:/opt

复制服务器的目录到本地
scp root@192.168.100.10:/home/sky/ ./

本地目录复制到服务器
scp -r / root@192.168.100.10:/home
登入後複製

linux自帶ssh嗎

2、sftp 安全性传输

sftp 是secure file transfer protocol(安全文件传送协议) 的缩写,可以为传输文件提供一种安全的网络加密方法。

sftp与ftp有着几乎一样的语法和功能,sftp 为ssh的其中一部分,sftp本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接和答复操作。所以使用sftp是非常安全的,但是,由于这种传输方式使用了加密/解密技术,所以传输效率比普通的FTP要低的多。对网络安全要求更高时,可以使用SFTP代替FTP。

  • 从服务端下载文件到本地主机

linux自帶ssh嗎

  • 从本地主机上传文件到服务端

linux自帶ssh嗎

3、配置密钥对实验

通过ssh-keygen工具为当前用户创建密钥对文件,可用的加密算法有“RAS”、“ECDSA”、“DSA”,通过-t 选项调用相应的算法。

3.1 在服务端创建密钥对

linux自帶ssh嗎

查看密钥对的位置

linux自帶ssh嗎

3.2、修改密钥对的配置文件

修改ssd_config配置文件没关闭,关闭密码验证,开启密钥验证

 vim /etc/ssh/sshd_config
登入後複製

linux自帶ssh嗎

 加载服务

1linux自帶ssh嗎

3.3、发送私钥到客户端

1linux自帶ssh嗎

 1linux自帶ssh嗎

 3.4用xshell登录

1linux自帶ssh嗎

1linux自帶ssh嗎

 1linux自帶ssh嗎

1linux自帶ssh嗎

1linux自帶ssh嗎

 3.5、客户端创建秘钥

1linux自帶ssh嗎

linux自帶ssh嗎

 2linux自帶ssh嗎

 2linux自帶ssh嗎

 2linux自帶ssh嗎

 2linux自帶ssh嗎

 2linux自帶ssh嗎

 2linux自帶ssh嗎

2linux自帶ssh嗎

 vim /etc/ssh/sshd_config  修改公钥位置文件

2linux自帶ssh嗎

重启服务

 2linux自帶ssh嗎

 linux自帶ssh嗎

总结

  • ssh为远程登录服务器的服务

    优点是使用该登录,传输数据会先 压缩再加密 ,保证安全性
    登录方式有两种,配置各种参数进行登录,最为长常用的是 ssh ip地址或主机名

  • scp可以跨主机传输文件。

  • sftp也可以远程登录,传输具有安全性,功能与ftp类似,但是没有独立的守护进程,它依赖于sshd服务,22端口,只有启用sshd服务才能使用sftp服务。

  • ssh生成密钥对

    可在客户端和服务端两边生成,

    但是最终 客户端 拿的必须是 私钥 , 服务端 拿的是 公钥 ,

    且在服务器中需要修改配置文件: /etc/ssh/sshd_config 内容,比如:开启密钥对验证,关闭密码验证,设置公钥路径。

    密钥对验证使用的是非对称密钥,优点是:可以免密登录,提高安全性。

相关推荐:《Linux视频教程

以上是linux自帶ssh嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

無法以 root 身份登錄 mysql 無法以 root 身份登錄 mysql Apr 08, 2025 pm 04:54 PM

無法以 root 身份登錄 MySQL 的原因主要在於權限問題、配置文件錯誤、密碼不符、socket 文件問題或防火牆攔截。解決方法包括:檢查配置文件中 bind-address 參數是否正確配置。查看 root 用戶權限是否被修改或刪除,並進行重置。驗證密碼是否準確無誤,包括大小寫和特殊字符。檢查 socket 文件權限設置和路徑。檢查防火牆是否阻止了 MySQL 服務器的連接。

C語言條件編譯:新手入門到實戰應用的詳盡指南 C語言條件編譯:新手入門到實戰應用的詳盡指南 Apr 04, 2025 am 10:48 AM

C語言條件編譯是一種根據編譯時條件選擇性編譯代碼塊的機制,入門方法有:使用#if和#else指令根據條件選擇代碼塊。常用條件表達式包括STDC、_WIN32和linux。實戰案例:根據操作系統打印不同消息。根據系統位數使用不同的數據類型。根據編譯器支持不同的頭文件。條件編譯增強了代碼的可移植性和靈活性,使其適應編譯器、操作系統和CPU架構變化。

【Rust自學】簡介 【Rust自學】簡介 Apr 04, 2025 am 08:03 AM

1.0.1前言這個項目(包括代碼和註釋)是在我自學Rust的過程中記錄的。可能有不准確或表述不清的地方,還請大家諒解。如果您從中受益,那就更好了。 1.0.2為什麼使用RustRust可靠且高效。 Rust可以取代C和C,性能相似但安全性更高,並且不需要像C和C那樣頻繁重新編譯來檢查錯誤。主要優點包括:內存安全(防止空指針取消引用、懸空指針和數據爭用)。線程安全(確保多線程代碼在執行前是安全的)。避免未定義的行為(例如,數組越界、未初始化的變量或訪問已釋放的內存)。 Rust提供現代語言功能(例如泛型

Linux的5個基本組件是什麼? Linux的5個基本組件是什麼? Apr 06, 2025 am 12:05 AM

Linux的五個基本組件是:1.內核,管理硬件資源;2.系統庫,提供函數和服務;3.Shell,用戶與系統交互的接口;4.文件系統,存儲和組織數據;5.應用程序,利用系統資源實現功能。

mysql 無法啟動怎麼解決 mysql 無法啟動怎麼解決 Apr 08, 2025 pm 02:21 PM

MySQL啟動失敗的原因有多種,可以通過檢查錯誤日誌進行診斷。常見原因包括端口衝突(檢查端口占用情況並修改配置)、權限問題(檢查服務運行用戶權限)、配置文件錯誤(檢查參數設置)、數據目錄損壞(恢復數據或重建表空間)、InnoDB表空間問題(檢查ibdata1文件)、插件加載失敗(檢查錯誤日誌)。解決問題時應根據錯誤日誌進行分析,找到問題的根源,並養成定期備份數據的習慣,以預防和解決問題。

c語言函數庫在什麼位置? c語言函數庫怎麼添加? c語言函數庫在什麼位置? c語言函數庫怎麼添加? Apr 03, 2025 pm 11:39 PM

C語言函數庫是一個包含各種函數的工具箱,這些函數被組織在不同的庫文件中。添加函數庫需要通過編譯器的命令行選項來指定,例如 GCC 編譯器使用 -l 選項,後跟庫名的縮寫。如果庫文件不在默認搜索路徑下,則需要使用 -L 選項指定庫文件路徑。庫有靜態庫和動態庫之分,靜態庫在編譯時直接鏈接到程序中,而動態庫在運行時被加載。

MySQL安裝在特定係統版本上報錯的解決途徑 MySQL安裝在特定係統版本上報錯的解決途徑 Apr 08, 2025 am 11:54 AM

MySQL安裝報錯的解決方法是:1.仔細檢查系統環境,確保滿足MySQL的依賴庫要求,不同操作系統和版本需求不同;2.認真閱讀報錯信息,根據提示(例如缺少庫文件或權限不足)採取對應措施,例如安裝依賴或使用sudo命令;3.必要時,可嘗試源碼安裝並仔細檢查編譯日誌,但這需要一定的Linux知識和經驗。最終解決問題的關鍵在於仔細檢查系統環境和報錯信息,並參考官方文檔。

mysql 可以在 android 上運行嗎 mysql 可以在 android 上運行嗎 Apr 08, 2025 pm 05:03 PM

MySQL無法直接在Android上運行,但可以通過以下方法間接實現:使用輕量級數據庫SQLite,由Android系統自帶,無需單獨服務器,資源佔用小,非常適合移動設備應用。遠程連接MySQL服務器,通過網絡連接到遠程服務器上的MySQL數據庫進行數據讀寫,但存在網絡依賴性強、安全性問題和服務器成本等缺點。

See all articles