一 使用ssh
(1)先看看sshd服務有沒有開啓
systemctl status sshd.service
(2)ssh [email protected](連接遠程主機192.168.3.252,以root用戶身份登陸)
ssh [email protected] rm -rf /home/kiosk/* (連接主機並執行命令)
(3)scp localfile [email protected]:/root/Desktop (把本地文件拷貝到遠程主機的桌面上)
scp -r [email protected]:/root/Desktop/Document/ .(把遠程主機的目錄拷貝到當前目錄)
二 ssh的安全管理
就是對vim /etc/ssh/sshd_config這個文件的修改
(1)服務是開着的,但是別人都登不上。
PasswordAuthentication yes改爲no 別人就連不上你的主機了,即使別人知道你的密碼也不行
Systemctl reload sshd 重啓服務試以下就知道了
(2)是否能以root身份登陸
#PermitRootLogin yes 改爲no 就不能以root身份登陸了,但是可以可以以其他用戶身份登陸
(3)指定允許登陸本機的人
添加一行alowusers lee test 隨便再哪添加都行。可以以白名單中的人身份lee和test登陸。
(4)密鑰
作爲一大塊兒來寫
三 ssh 密鑰
(1)《客戶端》主機叫做C,IP是172.25.254.1 正在以kiosk身份登陸。~/.ssh/下空
《服務端》虛擬機叫做S,IP是172.25.1.10 正在以root身份登陸(因爲涉及到修改系統配置文件所以要以root身份登陸)。 ~/.ssh/下空。ssh服務已經開啓。/etc/ssh/sshd_config是原始配置。
(2)C知道S的密碼,S允許C以S的密碼登陸
[kiosk@foundation1 .ssh]$ ssh [email protected]
The authenticity of host '172.25.1.10 (172.25.1.10)' can't be established.
ECDSA key fingerprint is eb:24:0e:07:96:26:b1:04:c2:37:0c:78:2d:bc:b0:08.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.25.1.10' (ECDSA) to the list of known hosts.
[email protected]'s password: ***
Last login: Mon Oct 13 10:35:34 2014
[root@desktop1 ~]# (看已經登陸上了)
下面看看C的~/.ssh/下多了什麼東西?(known_hosts文件)
[kiosk@foundation1 .ssh]$ ls -al
total 8
drwxrwxr-x. 2 kiosk kiosk 24 Oct 13 11:11 .
drwx------. 22 kiosk kiosk 4096 Oct 13 10:06 ..
-rw-r--r--. 1 kiosk kiosk 173 Oct 13 11:11 known_hosts
看看konwn_hosts的內容,就是我們剛纔登陸過的主機S。所以我們登陸過哪些主機,在這裏滿都會有記錄。
[kiosk@foundation1 .ssh]$ cat known_hosts
172.25.1.10 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBHX+o9KAnlfw2dE7CsmM4hqfv1udM79a5NWC2BuWlmfKSwfYLptPQMJF8bnqaz0EjDlxCxRu/aito+GphPLzp/k=
下次再登陸known_hosts裏記錄的主機時就會直接讓你輸入密碼,沒有那麼多羅嗦的信息
[kiosk@foundation1 .ssh]$ ssh [email protected]
[email protected]'s password:
Last login: Mon Oct 13 11:11:45 2014 from 172.25.1.250
[root@desktop1 ~]#
(3)PasswordAuthentication yes改我no
在S端:
vim /etc/ssh/sshd_config
Ststemctl restart sshd.service
密碼授權改爲no。就是不能通過密碼來登陸了。默認會看C的~/.ssh/下有沒有證書,如果沒有證書就會拒絕C的連接。
在C端:
[kiosk@foundation1 .ssh]$ ssh [email protected]
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
(4)PasswordAuthentication yes 且PermitRootLogin 設置爲no
在S端:
vim /etc/ssh/sshd_config
Ststemctl restart sshd.service
這樣別人就不能登陸S的root用戶了
在C端:
[kiosk@foundation1 .ssh]$ ssh [email protected] (沒有權限)
[email protected]'s password:
Permission denied, please try again.
[email protected]'s password:
[kiosk@foundation1 .ssh]$ ssh [email protected] (可以以普通用戶登陸成功)
[email protected]'s password:
Permission denied, please try again.
[email protected]'s password:
Last failed login: Mon Oct 13 11:39:21 CST 2014 from 172.25.1.250 on ssh:notty
There was 1 failed login attempt since the last successful login.
Last login: Mon Oct 13 10:24:26 2014
[student@desktop1 ~]$
(5)S上有很多用戶,指定S端的哪些用戶可以被遠程登陸
添加一行alowusers student bai 隨便再哪添加都行。可以以白名單中的人身份student和bai登陸。
在S端:
vim /etc/ssh/sshd_config
Ststemctl restart sshd.service
在C端: (在白名單中的用戶可以被遠程登陸,其他人不可以)
[kiosk@foundation1 .ssh]$ ssh [email protected]
[email protected]'s password:
Permission denied, please try again.
[email protected]'s password:
[kiosk@foundation1 .ssh]$ ssh [email protected]
[email protected]'s password:
Last login: Mon Oct 13 12:00:01 2014 from desktop1.example.com
[bai@desktop1 ~]$
(6)以上都是知道要登陸的用戶的密碼。這是很不安全的。我們以非對稱加密的方式來登陸系統。
在S端:
ssh-keygen 命令來產生公鑰和私鑰。分別爲id_rsa.pub 和id_rsa
用公鑰給某個遠程登陸加密:ssh-copy-id -i id_rsa.pub [email protected] (必須要有對應的私鑰才行)
把私鑰發送給你授權遠程登陸的人scp id_rsa [email protected]:/home/kiosk/.ssh/
在C端:(有私鑰的人才能連接,也就是有id_rsa的人才能連接)
[root@foundation1 ~]# ssh [email protected]
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
[root@foundation1 ~]# logout
[kiosk@foundation1 .ssh]$ ssh [email protected]
Enter passphrase for key '/home/kiosk/.ssh/id_rsa':
Last login: Mon Oct 13 12:29:54 2014 from 172.25.1.250