使用ssh服務遠程管理主機

重要命令systemctl安全

systemctl管理服務的啓動、重啓、中止、重載、查看狀態的命令:網絡

Sysvinit命令(紅帽RHEL6系統)ssh

Systemctl命令(紅帽RHEL7系統)加密

做用spa

service foo start3d

systemctl start foo.servicerest

啓動服務blog

service foo restartip

systemctl restart foo.serviceci

重啓服務

service foo stop

systemctl stop foo.service

中止服務

service foo reload

systemctl reload foo.service

從新加載配置文件(不終止服務)

service foo status

systemctl status foo.service

查看服務狀態

 

systemctl設置服務的開機啓動、不啓動、查看各級別下服務啓動狀態的命令:

Sysvinit命令(紅帽RHEL6系統)

Systemctl命令(紅帽RHEL7系統)

做用

chkconfig foo on

systemctl enable foo.service

開機自動啓動

chkconfig foo off

systemctl disable foo.service

開機不自動啓動

chkconfig foo

systemctl is-enabled foo.service

查看特定服務是否爲開機自啓動

chkconfig --list

systemctl list-unit-files --type=service

查看各個級別下服務的啓動與禁用狀況

瞭解sshd服務

SSH(Secure Shell)是一種可以提供安全遠程登錄會話的協議,假如但願在遠程Linux系統中執行命令,就是經過這個協議啦!

爲何要強調SSH協議是安全的呢?由於好比ftp、telnet等服務在網絡上不會對口令或數據進行加密,那麼駭客們真的很是容易就能夠截獲這些信息(尤爲是同局域網內的用戶),所以它們在本質是就是不安全的。

sshd服務提供兩種安全驗證的方法:

基於口令的安全驗證:通過驗證賬號與密碼便可登錄到遠程主機。

基於密鑰的安全驗證:須要在本地生成」密鑰對「後將公鑰傳送至服務端,進行公共密鑰的比較。

sshd服務的配置文件解析:

[root@fanwenting-hbza ~]# 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

是否容許空密碼登錄(很不安全)

若您想要修改服務的配置參數,請必定要記得刪除參數前面的註釋符」#「並重啓服務才生效的。

使用ssh命令

ssh命令用於遠程管理Linux主機,格式爲:「ssh [參數] 主機」。

參數

做用

-p

指定鏈接端口(默認爲22)

-v

顯示鏈接過程的詳細信息

 

 

 

咱們如今要使用密鑰對實現一臺主機對另外一臺遠程機器的管理

此時有兩臺都爲centOS系統的虛擬機,首先將兩臺主機的網關設置成相同的,而且將兩臺主機ping通,必定要將兩臺虛擬機設置爲橋接模式。

 

 在網絡適配器中將兩臺要鏈接的虛擬機都設置爲橋接模式,而且將兩臺虛擬機的網關設置爲相同的,保證兩臺虛擬機對彼此都能ping通。

 

 

 

網關設置相同後,ping通彼此。

 

 

 

此時我要使用網關爲192.168.35.111的虛擬機控制192.168.35.100的虛擬機。

首先咱們在網關爲192.168.35.111的虛擬機上輸入命令來獲取一段密鑰

[root@localhost network-scripts]# ssh-keygen

 一直按回車鍵。

以後將得到的密鑰copy給192.168.35.100的主機

[root@localhost network-scripts]# ssh-copy-id 192.168.35.100

 

而後如今在192.168.35.100的主機上打開終端輸入命令來重啓一下端口

[root@hbza ~]# ssh restart sshd

 再轉換到192.168.35.111的主機上輸入命令來遠程控制192.168.35.100的主機

[root@localhost network-scripts]# ssh 192.168.35.100

而後你就會發現輸入密碼之後你的主機名就變成另一臺主機的名稱了,此時你輸入的命令都會在另外一臺主機上執行相應的操做。

 

 若是說你不想經過密碼就能夠直接進入另外一臺主機,須要在另外一臺主機上設置一下sshd端口。

將容許密碼驗證設爲no。

 

 

容許密鑰驗證設置爲yes。

 

 

 

而後保存並退出,重啓sshd 生效便可。

[root@hbza ~]# systemctl restart sshd

而後再次嘗試無需密碼的登陸便可。

 

 

 

 遠程傳輸命令

要想將一些文件經過網絡傳送給其餘主機,又剛好兩臺主機都是Linux系統,咱們即可以直接用scp命令傳輸文件到另一臺主機~

scp命令用於在網絡中安全的傳輸文件,格式爲:「scp [參數] 本地文件 遠程賬戶@遠程IP地址:遠程目錄」。

參數

做用

-v

顯示詳細的鏈接進度

-P

指定遠程主機的sshd端口號

-r

傳送文件夾時請加此參數

-6

使用ipv6協議

相關文章
相關標籤/搜索