Linux遠端控制服務sshd和scp
1 瞭解sshd服務
SSH(Secure Shell)是一種能夠提供安全遠端登陸會話的協議,假如希望在遠端Linux系統中執行命令,就是通過這個協議啦!
為什麼要強調SSH協議是安全的呢?因為比如ftp、telnet等服務在網路上不會對口令或資料進行加密,那麼駭客們真的非常容易就可以截獲這些資訊(尤其是同區域網內的使用者),因此它們在本質是就是不安全的。
sshd服務提供兩種安全驗證的方法:
1. 基於口令的安全驗證:經過驗證帳號與密碼即可登陸到遠端主機。
1. 基於金鑰的安全驗證:需要在本地生成”金鑰對“後將公鑰傳送至服務端,進行公共金鑰的比較。
sshd服務的配置檔案解析:
sshd服務的配置檔案解析:
[root@hd1 ~]# cat /etc/ssh/sshd_config
引數 | 作用 |
---|---|
Port 22 | 預設的sshd服務埠。 |
ListenAddress 0.0.0.0 | 設定sshd服務端監聽的IP地址。 |
Protocol 2 | SSH協議的版本號。 |
HostKey /etc/ssh/ssh_host_key | SSH協議版本為1時,私鑰存放的位置。 |
HostKey /etc/ssh/ssh_host_rsa_key | SSH協議版本為2時,RSA私鑰存放的位置。 |
HostKey /etc/ssh/ssh_host_dsa_key | SSH協議版本為2時,DSA私鑰存放的位置。 |
PermitRootLogin yes | 設定是否允許root使用者直接登入。 |
StrictModes yes | 當遠端使用者私鑰改變時則直接拒絕連線。 |
MaxAuthTries 6 | 最大密碼嘗試次數 |
MaxSessions 10 | 最大終端數 |
PasswordAuthentication yes | 是否允許密碼驗證 |
PermitEmptyPasswords no | 是否允許空密碼登陸(很不安全) |
若您想要修改服務的配置引數,請一定要記得刪除引數前面的註釋符”#“並重啟服務才生效的。
[[email protected] ssh]# service sshd restart
Stopping sshd: [ OK ]
Starting sshd: [ OK ]
在遠端主機上啟動sshd服務並加入到開機啟動項:
[[email protected] ~]# systemctl start sshd
[[email protected] ~]# systemctl enable sshd
2 使用ssh命令登入主機
ssh命令用於遠端管理Linux主機,格式為:“ssh [引數] 主機”。
引數 | 作用 |
---|---|
-p | 指定連線埠(預設為22) |
-v | 顯示連線過程的詳細資訊 |
[[email protected] ~]# ssh 192.168.10.20
The authenticity of host '192.168.10.20 (192.168.10.20)' can't be established.
ECDSA key fingerprint is 4f:a7:91:9e:8d:6f:b9:48:02:32:61:95:48:ed:1e:3f.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.10.20' (ECDSA) to the list of known hosts.
[email protected]192.168.10.20's password:此處輸入遠端主機root使用者的密碼
Last login: Wed Apr 15 15:54:21 2015 from 192.168.10.10
[[email protected] ~]#
3 安全金鑰驗證
使用密碼驗證終歸會存在著被駭客暴力破解或嗅探監聽的危險,其實也可以讓ssh服務基於金鑰進行安全驗證(可無需密碼驗證)。
3.1 第一步:使用Xshell生成金鑰(在本地主機中生成“金鑰對”亦可)
- 我們開啟熟悉的XSHELL軟體,然後在工具-新建使用者金鑰生成嚮導;
生成金鑰引數:確定公鑰的型別和長度;
我們這裡需要選擇RSA金鑰型別,以及金鑰長度可以選擇1024或者我這裡選擇2048.然後點選下一步按鈕。生成公鑰對:生成公鑰和私鑰對
繼續下一步,我們需要給我們設定的私鑰加密。私鑰加密:輸入密碼,只有該密碼才能得到私鑰(很重要)。
公鑰格式:
公鑰格式選擇SSH2-OPENSSH,儲存公鑰為檔案後完成。
3.2 第二步:上傳公鑰至伺服器中
將我們生成的id_rsa_2048.pub公鑰檔案上傳到/root/.ssh資料夾下面(如果沒有我們需要建立),然後我們需要將id_rsa_2048.pub重新命名為authorized_keys 並且用chmod 600 authorized_keys設定許可權。
3.3 第三步 :修改sshd配置檔案
編輯ssh服務程式主配置檔案
[root@hd1 ~]# vim /etc/ssh/sshd_config
- 將允許密碼驗證的引數設定為no
- 將允許金鑰驗證的引數設定為yes
儲存並退出配置檔案
重啟ssh服務
Debian/Ubuntu執行:/etc/init.d/ssh restart CentOS執行:/etc/init.d/sshd restart或者service sshd restart
3.4 第四步 :配置Xshell使用金鑰登陸
- 在Xshell新建一個連結;
- 設定使用者身份為Public Key,選擇使用者金鑰;
- 輸入我們之前設定的金鑰密碼,這個時候我們其實就可以登陸。
4 禁用root登入
為了防止root使用者被掃描,被暴力破解,可以禁止root使用者登入,指定特定使用者可以通過su - 的方式切換root身份。
4.1 禁用root登入
修改配置檔案
vi /etc/ssh/sshd_config
修改PermitRootLogin為no
PermitRootLogin no
重啟sshd服務
service sshd restart
4.2 限制使用者切換root身份
我們指定某個使用者可以切換root身份,其他使用者不可以
1. 修改/etc/pam.d/su配置
[[email protected] ~]# vi /etc/pam.d/su
找到下面這行,去掉行首的“#”
#auth required pam_wheel.so use_uid
1. 將指定使用者新增到wheel使用者組
```
usermod -G wheel 某使用者名稱
```
1. 修改登入檔案
```
[[email protected] ~]# vi /etc/login.defs
```
在末尾新增:
```
SU_WHEEL_ONLY yes
```
5 遠端傳輸命令
要想將一些檔案通過網路傳送給其他主機,又恰好兩臺主機都是Linux系統,我們便可以直接用scp命令傳輸檔案到另外一臺主機。scp命令用於在網路中安全的傳輸檔案。
5.1 傳送檔案
格式為:“==scp [引數] 本地檔案 遠端帳戶@遠端IP地址:遠端目錄==”。
引數 | 作用 |
---|---|
-v | 顯示詳細的連線進度 |
-P | 指定遠端主機的sshd埠號 |
-r | 傳送資料夾時請加此引數 |
-6 | 使用ipv6協議 |
例如:將本地檔案/root/out.txt傳送到遠端主機的/home目錄:
[root@linuxprobe ~]# scp /root/out.txt 192.168.10.20:/home
root@192.168.10.20's password:此處輸入遠端主機中root使用者的密碼
out.txt 100% 0 0.0KB/s 00:00
傳送資料夾並指定遠端使用者:
[root@linuxprobe ~]# scp -r results/ [email protected]:/home
linuxprobe@192.168.10.20's password:此處輸入遠端主機中linuxprobe使用者的密碼
5.2 下載檔案
強大的scp命令還可以將遠端主機的檔案下載到本地。
格式為:“==scp [引數] 遠端使用者@遠端IP地址:遠端檔案 本地目錄==”。
例如:將遠端主機的/etc/issue.net檔案下載到本地的/root目錄:
[root@linuxprobe ~]# scp [email protected]:/etc/issue.net /root
linuxprobe@192.168.10.20's password:
issue.net 100% 22 0.0KB/s 00:00
例如:將遠端主機的/root/test資料夾下載到本地的/root目錄:
[root@njupt ~]# scp -r root@192.168.10.20:/root/test /root
Password:
1.txt 100% 0 0.0KB/s 00:00
2.txt 100% 0 0.0KB/s 00:00
1.txt 100% 0 0.0KB/s 00:00
相關推薦
Linux遠端控制服務sshd和scp
1 瞭解sshd服務 SSH(Secure Shell)是一種能夠提供安全遠端登陸會話的協議,假如希望在遠端Linux系統中執行命令,就是通過這個協議啦! 為什麼要強調SSH協議是安全的呢?因為比如ftp、telnet等服務在網路上不會對口令或
Linux下RocketMQ服務端和客服端安裝
Linux下RocketMQ服務端和客服端安裝 安裝條件 jdk 1.8+ Maven 3.0.5 .64位Linux系統 下載和安裝 使用xshell將下載的安裝包上傳到linux系統
linux複製檔案(cp和scp)
Linux為我們提供了兩個用於檔案copy的命令,一個是cp,一個是scp,但是他們略有不同。 cp 主要是用於在同一臺電腦上,在不同的目錄之間來回copy檔案 scp 主要是在不同的Linux系
(四)Windows Server 2008 R2遠端桌面服務配置和授權啟用
日常工作中,經常需要遠端連線到伺服器上,然而伺服器系統預設允許同時連線的最大連線數只有2個。這樣一來,問題就來了,常常遇到“終端伺服器超出最大連線數”,導致無法正常登陸伺服器。那麼如何才能解決這一問題呢?這就要依靠遠端桌面服務了。 一、 遠端桌面服務安裝和配置 伺
Linux程序控制--程序退出和等待
Linux程序退出 1. 程序退出的場景 程式碼執行完畢正常退出,結果正確 程式碼執行完畢正常退出,結果不正確 異常退出 2 .程序常見退出方式 正常退出 從main() 函式中返回return退出 呼叫exit()函式退出 呼叫_exit()函式退出 異
Windows Server 2016遠端桌面服務配置和授權啟用
Server 2016預設遠端桌面連線數是2個使用者,如果多餘兩個使用者進行遠端桌面連線時,系統就會提示超過連線數,可以通過新增遠端桌面授權解決: 1、新增遠端桌面授權服務 第一步:伺服器管理 - 新增角色和功能開啟新增角色和功能嚮導視窗,選擇基於角色或給予功能安裝: 第二步:
redHat 下配置 vnc 遠端控制服務
目錄 1 環境要求 2 設定本機網路 用VMware啟動完redHat之後,進行本機網路設定。 開啟網路設定,更改介面卡,選擇VMware Network Adapter VMnet1 右鍵點選屬性,設定IPv4,手動分配一個ip(可
Windows Server 2008 R2遠端桌面服務配置和授權啟用
日常工作中,經常需要遠端連線到伺服器上,然而伺服器系統預設允許同時連線的最大連線數只有2個。這樣一來,問題就來了,常常遇到“終端伺服器超出最大連線數”,導致無法正常登陸伺服器。那麼如何才能解決這一問題呢?這就要依靠遠端桌面服務了。 一、 遠端桌面服務安裝和配置
linux查詢tftp服務目錄和nfs服務目錄命令
/********************************************************************* * Author : Samson * Date : 01/18/2014 * Test platform: *
Linux之控制服務篇
一、什麼是服務? 系統中執行的對於系統本身沒有意義,但是對客戶主機有重大意義的程式叫做服務型軟體,簡稱服務。 cs模型 c表示client s表示server 二、用什麼控制服務? 系統中的初始化程序可以對服務進行相應的控制。 三、系統的初始化程序是什麼 systemd
Windows Server 2008 R2 多使用者實現遠端連線登入 遠端桌面服務配置和授權啟用
日常工作中,經常需要遠端連線到伺服器上,然而預設的伺服器系統同時連線的最大連線數只有2個。若第三個使用者登入,就會出現以下問題: 那麼該如何解決呢? 一、遠端桌面服務安裝和配置 伺服器管理器------角色-----新增角色:選擇“遠端桌面服務”,下一步 選擇角色服務:
遠端呼叫服務(RPC)和訊息佇列(Message Queue)對比及其適用/不適用場合分析
最近考慮把公司系統重構升級,將原有的垂直MVC架構遷移為分散式系統,因此著重瞭解了下遠端呼叫服務(RPC)和訊息佇列(MQ)。RPC和MQ都是用於分散式系統的兩個關鍵技術,並且裡面都有服務提供者和消費者的概念,可在一定程度上對系統進行解耦。但對於彼此應用場景的區分還不是特別
深度學習實踐操作—從小白到大白(三):Linux遠端控制
深度學習實踐操作—從小白到大白 目錄 三. Linux遠端控制 在具體使用時,特別是實驗室或者工作時多人使用同一臺伺服器,一般通過本機遠端控制。 本機是Linux系統,使用ssl指令即可:ssh –l 使用者名稱 IP地址 ssh
Linux 124課程 8、管理本地的Linux用戶和組、控制服務和守護進程
isa 單元 關系 tex text socket ted roc rest 1、系統啟動和服務器進程的管理器RH5 6 首先啟動Init 進程 system v RH7 使用 systemd 是系統啟動和服務器進程的管理器 特點: 並行化功能; 十個進程並行
Linux常用服務器搭建ssh和scp
ssh scp 1.ssh 1.1ssh介紹 SSH(Secure Shell),由IETF的網絡工作小組Network Working Group制定,ssh是建立在應用層和傳輸層基礎上的安全協議。 SSH是專為遠程登錄會話和其他網絡服務提供安全性的協議,常用於遠程登錄以及用戶之間的資料拷貝。 SS
Linux(RadHat)基礎學習—系統服務控制及sshd服務
遠程 51cto 確認密碼 指定 認證 當前 開始 oot conn 1.系統服務 1.什麽是服務 系統服務(system services)是指執行指定系統功能的程序、例程或進程,以便支持其他程序,尤其是底層(接近硬件)程序。通過網絡提供服務時,服務可以在Active D
linux --- 控制服務以及遠端連線
控制服務 1.用什麼控制服務 系統初始化程序可以對服務進行相應的控制 2.當前系統初始化程序是什麼 systemd ---> 系統初始化程序 pstree ---> 顯示系統中的程序樹 3.程序控制命令 ssh --------> sshd
Linux下使用SSH和VNC實現圖形化遠端控制(Ubuntu 9.04環境)
1、配置網絡卡 在Ubuntu中配置網絡卡很簡單,只需要開啟/etc/network/interfaces檔案,將你想設定靜態IP的那個網絡卡的IP配置資訊儲存起來就可以了,動態獲取的不需要配置。 auto eth1 iface eth1 inet stat
Linux遠端下載檔案的兩種方法之 ftp命令和scp命令
ftp命令: 伺服器有安裝ftp Server,另外一臺Linux可以使用ftp的client程式來進行檔案的拷貝讀取和下載。 1. 連線ftp伺服器 格式:ftp [hostname| ip-address] a)在linux命令列下輸入:ftp 192.1
[Linux] scp本地服務器和遠程服務器拷貝文件
分享 下載文件 bsp bubuko 上傳 下載 info 服務 ima 上傳本地文件到服務器scp 本地路徑 用戶名@遠程服務器ip:遠程路徑 下載文件 scp 用戶名@遠程服務器ip:遠程路徑 本地路徑-r 是上傳下載本地目錄到遠程 遠程文件 [Lin