10:跟阿郎哥學Linux SSH遠程登錄

今日修煉

ssh遠程登錄

ssh由Secure Shell(安全的Shell)簡寫而來。

ssh首先是一個協議,定義瞭如何通過終端安全地訪問遠程的服務器。其次,在Linux中,它也是一個遠程登錄工具的名稱,一個命令行的名稱。sshd則是為ssh遠程登錄服務的後臺守護進程。大多情況下,運維人員需要使用ssh來登錄遠程服務器,以進行管理作業。

在Windows操作系統的電腦上,需要安裝Windows版本的SSH軟件,比如PuTTy。自Windows 7開始,Windows操作系統自帶的PowerShell也是一個不錯的ssh替代產品。

在Linux絕大部分發行版中,ssh工具早已裝好,你只需要打開一個Shell終端,鍵入ssh命令即可登錄遠程服器。

10:跟阿郎哥學Linux SSH遠程登錄

Powershell登錄界面

1)ssh的使用

# ssh [email protected]

# ssh -t [email protected] cat /var/log/messages

# ssh [email protected] -p 2222

# ssh 192.168.22.129

第一行命令,sshs以root身份,登錄192.168.22.129服務器。

第二行命令中,使用了參數-t,後面跟了另一個命令行“cat /var/log/messages”,即能過ssh遠程執行命令。

第三行命令,登錄的目標主機的ssh端口不是22,而是2222。

第四行命令,省略了用戶名,會使用當前用戶的用戶名去登錄。

10:跟阿郎哥學Linux SSH遠程登錄

在Shell終端中使用SSH登錄

2)openSSH的安裝

在大多數Linux發行版下,都安裝了openSSH。如果你的主機上沒有安裝ssh,則可以這樣安裝:

# yum install -y openssh-server

3)ssh的關啟

# systemctl start sshd //啟動

# systemctl stop sshd //停止

# systemctl restart sshd //重啟

# systemctl enable sshd //設為自動啟動

# systemctl disable sshd //不允許自動啟動

4)在防火牆中允許ssh

在本機防火牆中開通ssh服務或22端口,相當於允許外面的客戶端來遠程訪問本機。命令如下:

# firewall-cmd --permanent --add-service=ssh

# firewall-cmd --reload

如果知道ssh監聽的端口,也可以開通端口。如一般情況下,ssh監聽的是22號端口。

# firewall-cmd --permanent --add-port=22/tcp

# firewall-cmd --reload

5)ssh客戶端的配置

這裡講ssh,往往有兩個意思:ssh客戶端和sshd服務端守護進程。所以,對應的,也有兩個配置文件:

ssh服務端配置文件:/etc/ssh/sshd_config

ssh客戶端配置文件:/etc/ssh/ssh_config

在本機(ssh_config駐留的主機)上使用ssh這個命令去登錄別的主機,受到客戶端配置文件的約束。具體設置可以通過下面的命令查找:

# man 5 ssh_config

6)ssh服務端的配置

服務端配置文件是/etc/ssh/sshd_config,修改其中內容後,重新啟動服務才能生效。從遠程登錄到本機(sshd_config駐留的主機)將受到這個配置的影響。

# systemctl restart sshd

下面是阿郎哥感興趣的幾個配置:

#Port 22

缺省的情況下,監聽的端口是22。如果去掉前面的#,把22修改成其他的端口,可以在這裡改。如改成:Port 2222

但是要記得將2222打上SELinux的標籤。

# semanage port -a -t ssh_port_t -p tcp 2222

#PermitRootLogin yes

缺省允許root遠程登錄。將#去掉,寫成“PermitRootLogin no”。生產服務器上,最好禁止root用戶登錄。

#PubkeyAuthentication yes

缺省這個是禁用的。如果去掉前面的註釋符號#,將不接受密碼驗證方式。只能配成免密碼登錄方式。

AuthorizedKeysFile .ssh/authorized_keys

缺省的情況下,會在各個用戶的家目錄下的隱藏目錄~/.ssh下一個名叫authorized_keys裡記錄遠程用戶上傳來的公鑰文件的內容。一般是通過ssh-copy-id上傳id_rsa.pub,並其中的內容追加到authorized_keys後面。

#DenyUsers xiaoming zhuzhu

一般情況下,看不到DenyUsers命令。如果啟用這個,將會禁止xiaoming(小明)和zhuzhu(豬豬)登錄。

Linux文件系統的管理

1994年2月14日,Linux基金會發布了一個文件結構標準,Filesystem Hierarchy Standard,簡稱FHS,用以規範Linix及Unix系列操作系統的文件結構 。FHS目前更新到3.0版,只有Linux操作系統在遵守。

我們在Shell終端內,運行ls命令,便可以看到Linux的文件結構。

# ls -lh /

對於存放文件的空間,人們有時稱其為目錄,有時稱其為路徑,或者文件夾。根據FHS,Linux主要目錄或路徑如下:

/ ,根目錄

/bin,存放所有用戶可用的、二進制的(被編譯過)基本命令

/dev,存放設備及特殊文件

/etc,存放本機系統配置

/home,存放系統用戶的文件的地方

/lib,存放共享庫的地方

/media,臨時掛載cdrom、USB等設備的地方,CentOS上使用的是/run

/mnt,掛載外部的文件系統如nfs或者cdrom、USB或移動硬盤等設備

/opt,有時你看不到這個目錄,跟/usr/local一樣,供用戶安裝程序的地方

/proc,存放內核及進程信息,是一個虛擬文件系統

/run,臨時掛載cdrom、USB等設備的地方

/sbin,存放系統命令,全部是二進制文件,據說都是系統管理員使用的命令

/srv,這個目錄被用來存放對外分享的資源

/sys,存放內核及系統信息,是一個虛擬文件系統

/tmp,存放臨時的地方

/usr/include,存放C語言程序包含的頭文件

/usr/src,存放源代碼

/var,存放不斷增長的信息,如果郵件、日誌、數據庫等

今日命令清單:

43. useradd xiaoming //添加一個叫xiaoming的用戶

44. groupadd jail //添加一個叫jail的用戶組

45. useradd -G jail zhuzhu //添加一個叫zhuzhu的用戶,並將其加入jail附加組

46. gpasswd -a xiaoming wheel //將用戶xiaoming添加到wheel組

47. passwd zhuzhu //為用戶zhuzhu設置密碼

48. cat /etc/passwd //查看/etc/passwd的內容

49. id xiaoming //查看用戶xiaoming的基本信息

50. echo ‘123456’ | sha512sum //用sha512算法加密字串“123456”

51. grub2-mkpasswd-pbkdf2 //生成grub密碼

52. grub2-mkconfig -o /boot/grub2/grub.cfg //生成grub2啟動菜單

53. ssh-keygen //生成公鑰私鑰對

54. ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected] //將公鑰上傳到目標服務器

55. ssh [email protected] //使用root身份登錄遠程主機

56. less ~/.ssh/authorized_keys //用less命令查看公鑰存儲文件的內容

57. systemctl start sshd //啟動sshd服務

58. systemctl stop sshd //停止sshd服務

59. systemctl restart sshd //重啟sshd服務

60. systemctl enable sshd //將sshd服務設為自動啟動

61. systemctl disable sshd //不允許sshd自動啟動

62. firewall-cmd --permanent --add-service=ssh //添加ssh服務,永久有效

63. firewall-cmd --reload //讓防火牆的新規則立即生效

64. man 5 ssh_config //查看Linux用戶手冊中第5部分ssh_config的幫助信息

65. semanage port -a -t ssh_port_t -p tcp 2222 //將端口2222貼上ssh_port_t標籤

66. ls -ld /root //顯示目錄的詳細信息

67. ls -la /root //顯示目錄下的隱藏文件

68. mkdir /test //創建目錄

69. rm -rf /test //刪除目錄

70. du -h /usr //查看目錄及其包含的文件佔用磁盤空間大小

71. ls -R /etc //列舉目錄及其子目錄下的所有文件

72. cd /test //切換到/test目錄下

73. cd ~ //切換到當前用戶的家目錄

74. cd //切換到當前用戶的家目錄

75. cd . //切換到當前目錄,及字符“.”代表當前目錄

76. cd .. //切換到當前目錄的上一級目錄

77. pwd //查看當前目錄

78. rmdir /empty //刪除空目錄。如果目錄下有文件則刪除不了


分享到:


相關文章: