1. 生成密鑰
ssh-keygen
默認(rèn)情況下在用戶目錄下創(chuàng)建.ssh
文件夾,并生成了公鑰(id_rsa.pub)歪今,以及私鑰(id_rsa)
2. ssh 遠(yuǎn)程登陸主機(jī)
ssh user@host -p port
// 或者
ssh host -l user -p port
user: 登陸的用戶
host: 登陸的主機(jī)
參數(shù) -p 為ssh端口
若是第一次登陸該主機(jī)嚎幸,會顯示目標(biāo)主機(jī)的公鑰指紋,提示無法確認(rèn)主機(jī)的身份寄猩,并詢問是否繼續(xù)嫉晶;用戶需要自行確認(rèn)主機(jī)的其實(shí)性,這是為了防止ssh的中間人攻擊田篇。
3. 無密碼登陸主機(jī)
若無其他配置替废,使用 2 中的方法登陸主機(jī)時(shí),每次都要求輸入密碼泊柬,不僅繁瑣椎镣,還不安全。
如何設(shè)置無密碼登陸:
- 假設(shè)兩臺主機(jī)A, B兽赁,A無密碼登陸B(tài)状答;
- A,B主機(jī)各自生成密鑰刀崖,這是基礎(chǔ)惊科;
- B主機(jī)的
~/.ssh
目錄下新建文件authorized_keys
,并將A主機(jī)的公鑰拷貝進(jìn)去蒲跨;該文件可以存多個(gè)公鑰译断,一行一個(gè); - 此時(shí)A主機(jī)可無密碼登陸B(tài)主機(jī)或悲。
4. 使用別名登陸主機(jī)
新建文件~/.ssh/config
孙咪,并寫入如下內(nèi)容(注意縮進(jìn)):
Host myhost
HostName 138.xxx.xxx.xxx
Port xxxx
User root
IdentityFile ~\.ssh\id_rsa
HostName:要登陸的主機(jī)名或 IP 地址
Port:目標(biāo)主機(jī)的 ssh 端口
User:登陸的用戶
IdentityFile:用于登陸的私鑰
之后便可以用ssh myhost
登陸該主機(jī)。
5. 主機(jī)之間發(fā)送文件
(1)從本機(jī)復(fù)制到遠(yuǎn)程主機(jī)
// 將本機(jī) file 文件發(fā)送到host主機(jī)的folder目錄下, -p 為ssh端口(大寫)
scp -P port file user@host:folder
// 復(fù)制目錄
scp -r -P port folder user@host:folder
(2)從遠(yuǎn)程主機(jī)復(fù)制到本機(jī)
// 將本機(jī) file 文件發(fā)送到host主機(jī)的folder目錄下
scp -P port user@host:folder file
// 復(fù)制目錄
scp -P port -r user@host:folder folder