從零開始搭建伺服器之登入和登出遠端伺服器
雙 11 期間入手了一臺雲伺服器,備案花了一兩個星期,這兩天終於備案通過了.於是在個人伺服器上裝了 Docker
容器用於部署專案,準備儘量把所有的服務都打包成容器,方便統一管理運維.
於是利用 docker
搭建了 nginx
作為反向代理伺服器,負責請求分發,用 nginx
部署靜態部落格,用 mysql
暴露給個人專案使用...
但是千里之行始於足下,一切還要從登入登出遠端伺服器開始,本文基於 Centos7.6
環境,不保證其他環境正常.
環境準備
伺服器要求
如果你已經有云伺服器或者虛擬機器伺服器,首先需要驗證伺服器上是否已經安裝 ssh
服務,如果沒有安裝則需要提前安裝.
登入伺服器後,在命令列視窗中輸入 rpm -qa | grep ssh
ssh
相關檔案.
[root@snowdreams1006 ~]# rpm -qa | grep ssh
openssh-clients-7.4p1-16.el7.x86_64
libssh2-1.4.3-12.el7_6.2.x86_64
openssh-server-7.4p1-16.el7.x86_64
openssh-7.4p1-16.el7.x86_64
預設情況下執行 netstat -antp | grep sshd
命令,可以看到 sshd
服務監聽的埠正是預設的 22
埠.
[root@snowdreams1006 ~]# netstat -antp | grep sshd tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1051/sshd tcp 0 0 *.*.*.*:22 *.*.*.*:46797 ESTABLISHED 17334/sshd: root@pt
其實一般雲伺服器均已預裝好 ssh
服務,如果沒有上述輸出,則說明可能並沒有安裝 ssh
服務,可以使用 yum install openssh-server
進行安裝.
下面總結一些關於 sshd
的常用命令,如下
- 檢視
sshd
執行狀態
systemctl status sshd
如果執行結果包括 Active: active (running)
則證明 sshd
服務處於啟用狀態,如果是 Active: inactive (dead)
則表示服務已關閉.
[root@snowdreams1006 ~]# systemctl status sshd ● sshd.service - OpenSSH server daemon Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled) Active: active (running) since 五 2019-11-29 21:05:08 CST; 16h ago Docs: man:sshd(8) man:sshd_config(5) Main PID: 1051 (sshd) Tasks: 1 Memory: 10.9M CGroup: /system.slice/sshd.service └─1051 /usr/sbin/sshd -D
- 啟動|關閉|重啟
sshd
服務
systemctl start sshd
針對處於已經關閉
sshd
狀態時,可以再次啟動,如果已經啟動,則不會輸出結果,但還是啟動中.
systemctl stop sshd
針對處於正在執行
sshd
狀態時,可以停止服務,如果已經停止,則不會輸出結果,但還是停止中.
systemctl restart sshd
針對處於正在執行
sshd
狀態或者已經停止狀態時,可以重啟服務,雖然都不會輸出結果,但已經啟動.
- 開機自啟|禁止自啟
sshd
服務
systemctl list-unit-files | grep enabled
檢視全部開機自啟服務,如果包括
sshd
則表示sshd
已加入開機自啟服務,如果沒有則不會開機自啟.
systemctl list-unit-files | grep enabled | grep sshd
如果全部開機自啟服務比較多的話,肉眼不太直接看出
sshd
是否自啟,在上一條命令的基礎上多加一個grep sshd
即可過濾是否包含sshd
服務.
systemctl enable sshd
開機自啟服務,如果某些服務非常重要需要一直後臺執行的話,最好加入開機自啟,這樣能防止意外關機重啟伺服器後忘記開啟服務,比如
sshd
服務和docker
服務等等.
systemctl disable sshd
針對已經開機自啟服務進行禁用,執行
systemctl list-unit-files | grep enabled | grep sshd
可以檢視當前服務是否會開機自啟.
如果你現在還沒有伺服器但又想學習體驗一下,要麼立即花錢去買伺服器要麼免費安裝虛擬機器,或者先收藏起來以後再看!
針對立即購買伺服器的小夥伴,請私信聯絡我,用我的推廣連結購買,你有優惠,我有分成,何樂而不為呢?
我要購買雲伺服器,最好還是留言或者私信告訴我!
針對免費安裝虛擬機器體驗的使用者,可以根據自己的作業系統,參考以下推文進行安裝,有問題也可以聯絡我!
我想安裝虛擬機器,最好還是留言或者私信告訴我!
下面是之前推文關於什麼是虛擬機器以及如何安裝 Centos
伺服器的相關文章,可以點選直接閱讀.
- 給你的計算機一種全新的體驗
主要介紹了什麼是虛擬機器以及例項演示如何給
Windows
電腦裝個VMware
虛擬機器.
- 給 windows 虛擬機器裝個 centos
在
Windows
電腦已經裝好VMware
虛擬機器的基礎上,裝個Centos
映象就擁有了自己的Centos
伺服器.
- 工具資源系列之給mac裝個虛擬機器
主要介紹了什麼是虛擬機器以及例項演示如何給
Mac
電腦裝個VMware
虛擬機器.
- 工具資源系列之給虛擬機器裝個centos
在
Mac
電腦已經裝好VMware
虛擬機器的基礎上,裝個Centos
映象就擁有了自己的Centos
伺服器.
客戶端要求
因為登入伺服器需要使用到 ssh
協議,所以首先需要驗證本機客戶端命令列是否支援 ssh
協議.
開啟你正在使用的命令列,直接輸入 ssh
如果有下列提示證明是可以的,如果沒有請安裝支援 ssh
協議命令列終端.
如果你是 Mac
使用者,開啟預設的 terminal
終端輸入 ssh
返回用法說明,證明是支援 ssh
協議的.
snowdreams1006$ ssh
usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface]
[-b bind_address] [-c cipher_spec] [-D [bind_address:]port]
[-E log_file] [-e escape_char] [-F configfile] [-I pkcs11]
[-i identity_file] [-J [user@]host[:port]] [-L address]
[-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
[-Q query_option] [-R address] [-S ctl_path] [-W host:port]
[-w local_tun[:remote_tun]] destination [command]
Mac
自帶的terminal
終端是支援ssh
協議的,Windows
的Git Bash
命令列也是支援的!
如果你是 Windows
使用者正在使用 cmd
命令列視窗,很遺憾並不支援 ssh
協議,請自行選擇類 unix
終端進行操作.
Microsoft Windows [版本 6.1.7601]
版權所有 (c) 2009 Microsoft Corporation。保留所有權利。
C:\Users\Administrator>ssh
'ssh' 不是內部或外部命令,也不是可執行的程式
或批處理檔案。
C:\Users\Administrator>
Windows
使用者不妨安裝 Git for Windows ,預設自帶的Git Bash
命令列就很好用,比cmd
終端更加簡單優雅,給你一種類unix
操作體驗.
命令列登入
ssh
登入伺服器前提是知道賬號密碼,先用密碼登入的方式進行設定,然後才能用 ssh
方式進行免密登入.
一般情況下,密碼都是自己設定的,如果不清楚預設密碼是多少可以詢問雲伺服器廠商或者選擇重設密碼,這裡不再贅述,假設你已經知道伺服器密碼並且知道伺服器公網 ip.
下面我們將會在本機客戶端的命令列中遠端登入雲伺服器,從最簡單方便的密碼登入到無密碼的金鑰登入再到最後的別名登入,快點跟著我一起動起來吧!
友情提示: 請確保服務端已開啟
sshd
服務和本地客戶端命令列中支援ssh
協議,否則還是先收藏起來以後再看吧!
密碼登入
開啟熟悉的命令列終端,執行 ssh <登入賬號>@<伺服器公網 ip>
命令直接登入遠端雲伺服器.
$ ssh [email protected]
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:/RJ5aI+c41Brr1dcBMhdNHQJa7daP+8fbupqsGmHRHc.
Please contact your system administrator.
Add correct host key in /c/Users/Administrator/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /c/Users/Administrator/.ssh/known_hosts:5
ECDSA host key for 121.40.223.69 has changed and you have requested strict checking.
Host key verification failed.
因為我的域名
snowdreams1006.cn
已經備案成功並且做了域名解析,所以這裡我可以直接用域名而不是ip
,說白了還是因為懶,誰讓ip
記不住呢!
如果你沒有遇到上述提示,恭喜你,可以接著輸入賬號密碼就可以登入到伺服器了!
如果你和我一樣遇到這種問題,很可能是之前登陸過伺服器,不過後來伺服器又重灌系統,導致無法登入,可以清除本機 ~/.ssh/known_hosts
重新登入.
rm -rf ~/.ssh/known_hosts
強制刪除 ~/.ssh/known_hosts
檔案後重新 ssh [email protected]
登入到遠端雲伺服器,按照提示選擇繼續連線 yes
,然後輸入自己的密碼 password
,登入成功後預設進入到家目錄.
$ ssh [email protected]
The authenticity of host 'snowdreams1006.cn (*.*.*.*)' can't be established.
ECDSA key fingerprint is SHA256:/**********************************.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'snowdreams1006.cn,*.*.*.*' (ECDSA) to the list of known hosts.
[email protected]'s password:
Last login: *** from *.*.*.*
Welcome to Alibaba Cloud Elastic Compute Service !
[root@snowdreams1006 ~]#
來都來了,不留下點什麼東西不好不意思跟別人說過自己曾將來過,那就隨便意思意思好了.
- 悟空到此一遊
[root@snowdreams1006 ~]# whoami
root
whoami
我是誰: 檢視正在登入使用者名稱稱
[root@snowdreams1006 ~]# pwd
/root
pwd
我在哪: 列印當前目錄路徑
[root@snowdreams1006 ~]# who -u
root tty1 2019-11-29 21:05 舊的 596
root pts/0 2019-11-30 14:15 . 17506 (115.217.243.122)
root pts/1 2019-11-30 14:28 00:05 17533 (115.217.243.122)
who -u
還有誰: 列印系統登入使用者
[root@snowdreams1006 ~]# last -a | head -6
root pts/1 Sat Nov 30 14:28 still logged in 115.217.243.122
root pts/0 Sat Nov 30 14:15 still logged in 115.217.243.122
root pts/0 Sat Nov 30 13:10 - 13:51 (00:41) 115.217.243.122
root pts/0 Sat Nov 30 12:24 - 12:25 (00:00) 115.217.243.122
root pts/1 Fri Nov 29 22:08 - 23:12 (01:03) 112.17.241.55
root pts/0 Fri Nov 29 21:33 - 22:13 (00:39) 112.17.241.55
last -a | head -6
最後是誰: 列印最後登入使用者
- 好像不認識你
如果發現登入使用者除了自己還有別人或者不記得自己其他終端登陸過沒有退出,這時候應該踢出這些登入終端.
如果要踢出別人,首先要自己登入的終端終端中哪個是自己,不能自己把自己踢了,那就好笑了!
whoami
僅僅列印登入名,沒有登入終端資訊,但是 who am i
展示資訊就相對多了,這裡要記住當前使用者登入終端的名稱!
[root@snowdreams1006 ~]# who am i
root pts/0 *** (*.*.*.*)
who am i
: 我是誰,比whoami
顯示的資訊更多.
who -u
可以展示全部登入使用者,不過這裡推薦使用 w
檢視登入使用者終端資訊,因為敲入的命令更少!
[root@snowdreams1006 ~]# w
14:53:04 up 17:48, 3 users, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 五21 17:46m 0.00s 0.00s -bash
root pts/0 115.217.243.122 14:15 0.00s 0.81s 0.00s w
root pts/1 115.217.243.122 14:51 1:37 0.00s 0.00s -bash
who -u
和w
都可以檢視登入使用者終端資訊,pts/0
是當前登入終端,其他終端pts/1
就可以被踢掉了.
# pkill -kill -t pts/1
pkill -kill -t pts/<序號>
踢出登入終端後,被踢出的終端則會自動退出顯示連線已關閉.
[root@snowdreams1006 ~]# w
14:58:46 up 17:53, 2 users, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 五21 17:52m 0.00s 0.00s -bash
root pts/0 115.217.243.122 14:15 6.00s 0.83s 0.00s w
w
: 有誰,踢出其他終端後再次檢視登入終端發現確實沒有pts/1
了,證明操作成功!
- 回家洗洗睡吧
登入到伺服器查看了一些資訊,併成功踢出了其他終端,天已經黑了,是時候洗洗睡了,這時候需要退出伺服器回到本地客戶端的命令列.
[root@snowdreams1006 ~]# exit
登出
Connection to ssh.snowdreams1006.cn closed.
除了敲入命令
exit
還可以敲入快捷鍵Ctrl+D
退出連線.
金鑰登入
一般來說,使用密碼登入的方式更加適合不常用的場合,偶爾用終端登入一下沒什麼問題,如果是經常性需要登入到遠端伺服器的話,每次連線都需要登入就比較費事了.
既然不用密碼登入,那怎麼證明自己的身份以保證合法性登入請求呢?
這裡就要用到金鑰代替密碼進行登入,首先在本機客戶端生成一種認證資訊,然後將這種認證資訊安裝到遠端伺服器中,只要完成這種操作就意味著下一次來自該客戶端的登入請求都是合法的,不然服務端怎麼會有你的認證資訊?
所以,可以猜想的是,即使是相同的賬號,如果使用的是不同的認證資訊,那麼遠端伺服器還是會已儲存的認證資訊為準,比如你的 Mac
已經實現免密登入,但是你的 Windows
由於並沒有上傳自己的認證資訊,所以免密登入只對 Mac
有效!
當然,如果 Mac
和 Windows
電腦的認證資訊是一樣的,那麼伺服器儲存一份是不是可以免密登入了呢?
答案是: 正確的!
由此可見,金鑰登入是針對終端裝置而言的,特別適合常用的終端,偶爾性的電腦前往不要設定金鑰,不然哪天你忘記了,人家都能直接登入你的伺服器,多可怕!
所以,要完成免密登入,需要兩個操作,一是本地客戶端生成認證檔案,二是遠端伺服器儲存該認證檔案.
- 本地客戶端生成公鑰
$ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC0gC0u4gR4oba4oHS59Tcc4eAVkaJHsCmys0v4IupoSLQKkdUJVxSfkmL5JZEkr7JNySD7Y52ukRcxx1ZMW0oK7lq+FvfEwzIfAOqVoM4bCoh2D/iC6Xf43ilxCM6oMhpWyITGtxPVzW/ZmmxRGcQzeVrrvoSLhOt0+L0rvFuiQZmnhkV0zqGTRKTQ5uEKycigfdItEaHFIg9fMxugN/bgeflJoEBZjAJHXkqd0mq/4AqeAbkoruEz6D+OiqBhoN8CsbaPCaccMoKd8Tze5UszC3PsQWo96nQoXMXk7HYoFwvJCAgAfKP0CaTwGEK/D7SFvXm3UMlFwAHxELr2bbTv [email protected]
~/.ssh/id_rsa.pub
檔案被稱為公鑰,即用於傳送給伺服器的認證檔案,可以公開到網際網路,只要伺服器儲存該公鑰,那麼生成該公鑰的本地客戶端就能免密連線到伺服器.
如果你的本地客戶端沒有該檔案,可以使用 ssh-keygen -t rsa
生成一份,按照提示輸入相關的資訊即可,然後再次執行 cat ~/.ssh/id_rsa.pub
就能檢視公鑰檔案的具體內容了.
- 遠端伺服器接收公鑰
本地客戶端將自己的公鑰檔案內容追加到遠端伺服器的授權檔案中就能完成免密登入,那麼問題來了,公鑰檔案儲存在哪呢?
答案是: ~/.ssh/authorized_keys
[root@snowdreams1006 ~]# cat ~/.ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC0gC0u4gR4oba4oHS59Tcc4eAVkaJHsCmys0v4IupoSLQKkdUJVxSfkmL5JZEkr7JNySD7Y52ukRcxx1ZMW0oK7lq+FvfEwzIfAOqVoM4bCoh2D/iC6Xf43ilxCM6oMhpWyITGtxPVzW/ZmmxRGcQzeVrrvoSLhOt0+L0rvFuiQZmnhkV0zqGTRKTQ5uEKycigfdItEaHFIg9fMxugN/bgeflJoEBZjAJHXkqd0mq/4AqeAbkoruEz6D+OiqBhoN8CsbaPCaccMoKd8Tze5UszC3PsQWo96nQoXMXk7HYoFwvJCAgAfKP0CaTwGEK/D7SFvXm3UMlFwAHxELr2bbTv [email protected]
這裡可以看出,遠端伺服器的 ~/.ssh/authorized_keys
內容包含了本地客戶端的 ~/.ssh/id_rsa.pub
公鑰內容.
所以接下來的動作就是複製貼上的操作,複製本地客戶端的 ~/.ssh/id_rsa.pub
公鑰檔案內容,貼上到遠端伺服器的 ~/.ssh/authorized_keys
檔案中.
只不過這裡需要用到 vim
操作,這也是對於新手來說唯一的挑戰了,但是我們還有神器來簡化這種複製貼上操作!
那就是: ssh-copy-id [email protected]
首先確保本地客戶端已經生成公鑰,這裡檢視一下公鑰檔案的內容: cat ~/.ssh/id_rsa.pub
$ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC1UGGBXbqINEfQNCweCOWDlqvRfw3iIqkX9UnI71GgyJkkPUZbycw3L4dVeBkpo76OJjJhJmsAGbHAuhYLloqoNjD9+c/hk7vgP0uZHqVXehqKuP5VvOOkqeLXZkjdXQ49MhARHBVm1LaD44iOOneYclSPiRjKs+6eCxU9SQp+dVUcZMrbAE1lktGgDQEkjtFl8BE9BQkCU24r8xcOUix4iZgdDIa5gnE9YLg1rNXO6LgQG61JLvErrc2g7KkkR4i2P1R+0uV3KdYyMv8Y2aYwYGqY1PjqXUVfaJjTor4Dr8HHBp4VHE3kNVZitLJ2S7RFYuYGFXTEX0xmi6o1r5xP Administrator@snowdreams1006
這裡是 Windows
電腦,演示前並沒有配置免密登入,所以執行完 ssh-copy-id [email protected]
應該也像 Mac
電腦一樣支援免密登入.
$ ssh-copy-id [email protected]
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/c/Users/Administrator/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]'s password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh '[email protected]'"
and check to make sure that only the key(s) you wanted were added.
這裡接著用已經免密登入到遠端伺服器的 Mac
電腦驗證一下,Windows
電腦的公鑰是否已經新增到遠端伺服器的 ~/.ssh/authorized_keys
.
[root@snowdreams1006 ~]# cat ~/.ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC0gC0u4gR4oba4oHS59Tcc4eAVkaJHsCmys0v4IupoSLQKkdUJVxSfkmL5JZEkr7JNySD7Y52ukRcxx1ZMW0oK7lq+FvfEwzIfAOqVoM4bCoh2D/iC6Xf43ilxCM6oMhpWyITGtxPVzW/ZmmxRGcQzeVrrvoSLhOt0+L0rvFuiQZmnhkV0zqGTRKTQ5uEKycigfdItEaHFIg9fMxugN/bgeflJoEBZjAJHXkqd0mq/4AqeAbkoruEz6D+OiqBhoN8CsbaPCaccMoKd8Tze5UszC3PsQWo96nQoXMXk7HYoFwvJCAgAfKP0CaTwGEK/D7SFvXm3UMlFwAHxELr2bbTv [email protected]
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC1UGGBXbqINEfQNCweCOWDlqvRfw3iIqkX9UnI71GgyJkkPUZbycw3L4dVeBkpo76OJjJhJmsAGbHAuhYLloqoNjD9+c/hk7vgP0uZHqVXehqKuP5VvOOkqeLXZkjdXQ49MhARHBVm1LaD44iOOneYclSPiRjKs+6eCxU9SQp+dVUcZMrbAE1lktGgDQEkjtFl8BE9BQkCU24r8xcOUix4iZgdDIa5gnE9YLg1rNXO6LgQG61JLvErrc2g7KkkR4i2P1R+0uV3KdYyMv8Y2aYwYGqY1PjqXUVfaJjTor4Dr8HHBp4VHE3kNVZitLJ2S7RFYuYGFXTEX0xmi6o1r5xP Administrator@snowdreams1006
可以看到,遠端伺服器已經儲存了 Windows
電腦剛剛上傳的公鑰檔案內容,所以說 ssh-copy-id
簡直就是神器,再也不用手動複製貼上公鑰了!
至於登陸後可以做什麼,我想你還是可以到此一遊,順便再踢出其他終端之類的,最後別忘了退出登入 exit
命令喲!
別名登入
無論是密碼登入還是金鑰登入,我們都是採用 ssh
協議進行登入,而金鑰登入的配置也是依賴於密碼登入,不管怎麼說,兩者敲入的命令都不少!
怎不能快速登入呢?
答案是: 可以的!
既然想要快速登入,但是登入資訊肯定是必不可少的,所以無外乎是將必要的登入資訊寫到配置檔案中,登入時再讀取配置檔案進行登入.
原理很好理解,關鍵是實現過程需要我們自己去實現麼?
幸運的是: 不需要!
同樣地,編輯 ssh
的配置檔案設定一些登入資訊即可,配置檔案的位於 ~/.ssh/config
.
Host <主機 id>
User <登入賬號>
HostName <主機名稱>
按照上述格式,將登入資訊配置如下:
Host github.com
User snowdreams1006
Hostname ssh.github.com
Host snowdreams1006.cn
User root
Hostname ssh.snowdreams1006.cn
其中 Host
是對外暴露的唯一標識,通過 Host
就可以代替賬號和 ip 了,兩個變成一個是不是簡化了呢?
原來的登入命令是 ssh <登入賬號>@<伺服器公網 ip>
而現在則是 ssh <主機 id>
$ ssh snowdreams1006.cn
Last login: **** from *.*.*.*
Welcome to Alibaba Cloud Elastic Compute Service !
[root@snowdreams1006 ~]#
圖形化登入
推薦 SecureCRT
圖形化工具遠端連線 Linux
例項,圖形化工具基本上很容易上手,配置一下就可以登入成功了,這裡已 Windows
電腦為例演示一下相關過程.
首次登入後會彈出快速連線配置,基本上是關於服務域名埠之類的,並沒有密碼的配置項.
點選連線後會彈出是否加入主機指紋之類的,選擇接受並儲存.
輸入密碼後選擇確定,過一會就連線到伺服器了.
來都來了,還是隨便敲個命令再走吧!
雲服務登入
登入控制檯找到 ECS 伺服器
,然後找到自己的雲伺服器,因此遠端連線->連線密碼->使用者名稱/密碼,然後就可以登入成功了!
回顧總結
密碼登入和金鑰登入兩者均存在適合場景,如果覺得密碼登入不安全的話,也可以禁用密碼登入只保留金鑰登入!
遠端登入到伺服器,找到 /etc/ssh/ssh_config
檔案並編輯如下內容來禁用密碼登入.
Host *
PasswordAuthentication no
- 密碼登入
$ ssh <登入賬號>@<伺服器公網 ip>
- 金鑰登入
$ ssh <登入賬號>@<伺服器公網 ip>
- 簡化登入
$ ssh <主機 id>
ssh snowdreams1006.cn
閱讀更多
- CentOS下開啟SSH Server服務
- linux 遠端連線ssh提示IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY解決
- Linux 7開機自啟項檢視並設定
- SSH簡介及兩種遠端登入的方法
- 伺服器快速免密ssh登入配置
- linux 資訊檢視及命令
- linux下踢出已登入使用者
- Mac安裝SecureCRT
- SecureCRT 8.1.4 破解教程
如果本文對你有所幫助,請動動小手點一下推薦,否則還請留言指正,如有需要,請關注個人公眾號「 雪之夢技術驛站 」
相關推薦
從零開始搭建伺服器之登入和登出遠端伺服器
雙 11 期間入手了一臺雲伺服器,備案花了一兩個星期,這兩天終於備案通過了.於是在個人伺服器上裝了 Docker 容器用於部署專案,準備儘量把所有的服務都打包成容器,方便統一管理運維. 於是利用 docker 搭建了 nginx 作為反向代理伺服器,負責請求分發,用 nginx 部署靜態部落格,用 mysql
從零開始學 Web 之 Ajax(一)伺服器相關概念
一、伺服器和客戶端 伺服器和客戶端都是電腦,在硬體層面上沒有明顯的劃分,配置很差的個人電腦任然可以作為伺服器。 伺服器如果想對外提供服務,必須安裝相應的軟體,所以不是伺服器這臺電腦可以提供服務,而是其安裝的軟體提供的服務。比如: HTTP網頁服務:Apache,Tomcat,IIS等 檔案上傳下載服務:V
《從零開始搭建遊戲伺服器》架構和工具分析
一、前言: 在正式開始搭建框架和編寫程式碼之前,我們首先需要在大腦裡構建遊戲伺服器的藍圖,主要思考幾個問題:1.一個完整的遊戲需要劃分為幾個型別的伺服器?2.選擇哪種或者哪些(可能同時結合
從零開始搭建伺服器之更加優雅地部署專案
如果你需要經常性需要多處部署同樣的專案,如果你曾經也遇到過"明明在我電腦執行得好好的"問題,如果聽說過 Docker 但還沒用過,如果你不確定你到底需不需要 Docker ,那麼,希望你花時間閱讀一下這篇文章! 因為 Docker 將幫助你輕鬆執行自己不熟悉語言編寫的開源專案,幫助你更加優
從零開始搭建框架SSM+Redis+Mysql(二)之MAVEN項目搭建
blog 目的 定位 enc style log onf project 集成 從零開始搭建框架SSM+Redis+Mysql(二)之MAVEN項目搭建 廢話不說,直接擼步驟!!! 1.創建主項目:ncc-parent 選擇maven創建項目,註意在創建項目中,packi
從零開始學 Web 之 JS 高級(三)apply與call,bind,閉包和沙箱
master 操作 console 概念 釋放 分享圖片 成功 num 命名沖突 大家好,這裏是「 從零開始學 Web 系列教程 」,並在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公眾號:Web前端之巔
從零開始學 Web 之 jQuery(二)獲取和操作元素的屬性
eight images idt 隱藏 lis 屬性 ner master lin 大家好,這裏是「 從零開始學 Web 系列教程 」,並在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公眾號:Web前端之巔
從零開始學 Web 之 Vue.js(四)Vue的Ajax請求和跨域
在線安裝 配置 name php文件 splay .json alert 參考 1.0 大家好,這裏是「 從零開始學 Web 系列教程 」,並在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公眾號:Web前端
從零開始搭建騰訊雲伺服器
本篇博文旨在將近期搭建雲伺服器的步驟記錄下來。 1、定義 雲伺服器是一種簡單高效、安全可靠、處理能力可彈性伸縮的計算服務。其管理方式比物理伺服器更簡單高效。使用者無需提前購買硬體,即可迅速建立或釋放任意多臺雲伺服器。雲伺服器幫助您快速構建更穩定、
【SpringMvc】從零開始學SpringMvc之實現使用者登入(三)
大家好,在前2篇中,我們實現了SpringMvc的配置和資料庫連線,這一篇我們來用html/ajax實現一個簡單的登入功能。 【SpringMvc】從零開始學SpringMvc之初始化(一) 【SpringMvc】從零開始學SpringMvc之資料庫(二) 準
從零開始搭建django前後端分離專案 系列三(實戰之非同步任務執行)
前面已經將專案環境搭建好了,下面進入實戰環節。這裡挑選專案中涉及到的幾個重要的功能模組進行講解。 celery執行非同步任務和任務管理 Celery 是一個專注於實時處理和任務排程的分散式任務佇列。由於本專案進行資料分析的耗時比較長,所以採用非同步方式執行任務。本專案中Broker使用redis,Result
從零開始搭建django前後端分離專案 系列五(實戰之excel流式匯出)
專案中有一處功能需求是:需要在歷史資料查詢頁面進行查詢欄位的選擇,然後由後臺資料庫動態生成對應的excel表格並下載到本地。 如果檔案較小,解決辦法是先將要傳送的內容全生成在記憶體中,然後再一次性傳入Response物件中; 如果檔案較大時,我們可以考慮向HttpResponse傳遞一個迭代器,流式的向客
從零開始搭建django前後端分離專案 系列六(實戰之聚類分析)
專案需求 本專案從impala獲取到的資料為使用者地理位置資料,每小時的資料量大概在8000萬條,資料格式如下: 公司要求對這些使用者按照聚集程度進行劃分,將300米範圍內使用者數大於200的使用者劃分為一個簇,並計算這個簇的中心點和簇的邊界點。 實現原理 下面我們來一步一步實現上述需求: 1、將使用者
Vue + Spring Boot從零開始搭建個人網站(一) 之 專案前端Vue.js環境搭建
前言: 最近在考慮搭建個人網站,想了想決定採用前後端分離模式 前端使用Vue,負責接收資料 後端使用Spring Boot,負責提供前端需要的API 就這樣開啟了我邊學習邊實踐之旅 Vue環境搭建步驟: 1、安裝node.js
Mac 計算機的日常使用 和 從零開始搭建Python開發環境
Mac 計算機的日常使用 和 從零開始搭建Python開發環境 本文作者:魏泯 我的部落格原地址是:https://www.cnblogs.com/Asterism-2012 在進行學習mac常用操作的時候,保證你的mac已經連線網路。 Mac常用操作 我這個機器預設滑鼠滾輪是上下顛倒的,我用著還
造輪子:搭建一個簡單的nodejs伺服器,從零開始搭建一個自用網站(0)
伺服器用的是阿里雲最早期的伺服器低配版本1Gcpu,512M記憶體,20G硬碟,1M頻寬,平常只是用來做測試,目前只處理業務邏輯,網站的設計上儘量避免佔用太多的頻寬, 靜態檔案的儲存用的是阿里雲oss,100G空間,夠放視訊,圖片什麼的, html/js/c
《從零開始搭建遊戲伺服器》優化——Jedis連線池
前言 在Java的開發中,遇到一些耗時的操作,我們通常會啟動一個執行緒,讓新建的執行緒來完成這個耗時操作而不至於影響主執行緒工作的正常進行,而當需要同時進行多個耗時操作的時候,就要相應地為其建立多個執行緒,但是這樣顯然會造成執行緒的浪費,所以我們
從零開始搭建一個簡易的伺服器(二)
超級大坑 第一篇部落格到現在拖坑有半年了(不過估計也沒人記得我),原本的打算是既然要寫伺服器,那自然要設計一門語言,類似於php這樣的工作於伺服器後端負責後端渲染,然後到目前為止的時間基本都花在寫編譯器上了囧,編譯器的專案在這裡。如果真的等編譯器全部寫
《從零開始搭建遊戲伺服器》Linux開發環境配置
前言: 之前的開發工作一直是在Windows開發環境下進行的,但是正真釋出和外網運營勢必要釋出到Linux環境下,而且有很多服務端的工具對於Windows系統的相容性並不是非常完善,就像常用的Docker容器就只支援Linux系統,所以提前瞭解和部署
從零開始搭建大資料平臺系列之(0)——目錄彙總
寫在前面 看了許多別人寫的技術系列博文,也想把自己所學系統歸納一下,正好現在打算從零開始搭建一個大資料平臺,就把自己的所學所獲系統整理一下,寫成從零開始搭建大資料平臺系列,歡迎轉載。 以下是本系列博文的目錄。 目錄 6. Oozie 平臺搭建