登陸
-
登陸伺服器
-
ssh user@hostname
- user: 使用者名稱
- hostname :IP地址或域名
-
第一次登陸會提示
-
The authenticity of host '123.57.47.211 (123.57.47.211)' can't be established.
ECDSA key fingerprint is SHA256:iy237yysfCe013/l+kpDGfEG9xxHxm0dnxnAbJTPpG8.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
-
-
輸入yes ,回車即可。這樣伺服器的資訊會記錄在
~/.ssh/known_hosts
中。 -
退出登陸:CTRL + D,或者手動輸入 exit。
配置檔案
-
為方便登陸伺服器,給伺服器取別名。
-
建立資料夾
:~$ mkdir .ssh
-
建立檔案
vim config
-
輸入
-
Host myserver1 HostName IP地址或域名 User 使用者名稱 Host myserver2 HostName IP地址或域名 User 使用者名稱
-
-
則可使用別名myserver1, myserver2。
免密登入
- 輸入命令
ssh-keygen
,回車跳過詢問。 - 這樣, ~/.ssh 中會有檔案
- id_rsa : 私鑰
- id_rsa.pub : 公鑰
- 如果想要免密登入某個伺服器,就要將公鑰傳給它。
- 將公鑰中的文段複製,進入伺服器中。
- 貼上到
~/.ssh/authorized_keys
。(若沒有,則建立)
- 也可以這條命令一鍵新增:
ssh-copy-id myserver
執行命令
-
命令格式
ssh user@hostname command
。 -
例如:
-
ssh user@hostname ls -a
,將伺服器家目錄下所有資料夾列印出。 -
a=1 ssh myserver "echo $a" ssh myserver 'echo $a'
-
雙引號是在本地伺服器進行轉義,所以傳過去的命令不是
echo $a
,而是echo 1
;單引號傳過去的是echo $a
。
-
SCP
- 功能:本地與伺服器之間傳檔案,伺服器與伺服器之間傳送需要許可權完整,可以讓本地終端成為媒介。
- 將source路徑下的檔案複製到destination中
scp source destination
- 複製多個檔案
scp source1 source2 destination
- 複製資料夾
- 將本地家目錄中的tmp資料夾複製到myserver伺服器中的
~/homework/
目錄下。 scp -r ~/tmp myserver:homework/
- 將本地家目錄中的tmp資料夾複製到myserver伺服器中的
- 指定埠號
scp -P 22 source1 source2 destination
- 傳輸作業
- 在作業資料夾的目錄下,如
~/CSAPP/homework1
- 命令
scp -P 22 * user@hostname:~/homework1
。
- 在作業資料夾的目錄下,如