免登陸
? A機:自己的電腦 B機:需要遠(yuǎn)程登錄的客戶端或服務(wù)器
? 這里即A機想通過ssh免密碼登錄到B機猪狈。
? ssh 無密碼登錄需要使用到公鑰和私鑰邪意。一般是在A機上生成公鑰/私鑰對,然后將公鑰添加到B機中乳丰。
- 首先需要在A機下生成公鑰/私鑰對
ssh-keygen -t rsa -f id_rsa -P ''
參數(shù):-f 生成的文件名 -P 表示密碼,-P ” 表示空密碼,會在 .ssh 目錄下生成 id_rsa 和 id_rsa.pub签杈。
注:因為在我的 .ssh 目錄下還有其他公鑰/私鑰對,例如用來連接github的公鑰/私鑰對贤徒,如果你也有其他公鑰/私鑰對芹壕,為了混淆汇四,建議進(jìn)行了重新命名。如果重命名了不會生成在 .ssh 目錄中踢涌,就需要手動把 id_rsaxxx 私鑰文件移動到當(dāng)前用戶的 .ssh 目錄下通孽。
將產(chǎn)生的公鑰復(fù)制到 B 機的用戶目錄下
scp id_rsa.pub 登錄用戶名@IP地址(或域名):/home/用戶名/id_rsa.pub
先通過 A 機使用密碼登錄 B 機,將公鑰追加到 authorzied_keys 中
遠(yuǎn)程登錄命令:
ssh -l 用戶名 IP地址(或域名)
追加公鑰到 authorzied_keys中 :
cat id_rsa.pub >> .ssh/authorized_keys
注:authorzied_keys 的權(quán)限要是 600 睁壁。
別名登錄
vim ~/.ssh/config
Host dev
HostName 10.16.57.215
User root
PubkeyAuthentication yes
Host www
HostName www.ttlsa.com
Port 22
User root
IdentityFile ~/.ssh/id_rsa.pub
IdentitiesOnly yes
選項注釋:
HostName 指定登錄的主機名或IP地址
Port 指定登錄的端口號
User 登錄用戶名
IdentityFile 登錄的公鑰文件
IdentitiesOnly 只接受SSH key 登錄
PubkeyAuthentication
測試
ssh dev