介紹
做開發(fā)時(shí)常常需要登陸遠(yuǎn)程服務(wù)器執(zhí)行一些操作咆霜,以前每次都是使用 ssh userName@ip 來登陸带斑,然而ip地址很難記席噩,每次都需要查找下模捂,導(dǎo)致效率太低下捶朵,使用ssh別名登陸后可以簡化為 ssh userName@aliasName 登陸,方便記憶狂男,操作也簡化了综看,而且aliasName 還可以用于scp之類的操作中
操作步驟
- 在本地生成ssh key,
ssh-keygen
,一路回車后的到 ~/.ssh目錄下的密鑰和公鑰 - 拷貝公鑰到遠(yuǎn)程主機(jī)
ssh-copy-id user@ip
, 其中user是登陸用戶名岖食, ip是遠(yuǎn)程主機(jī)的ip地址; 此步的目的是將公鑰拷貝到服務(wù)器的authorized_keys文件中红碑, 也可以用cat ~/.ssh/id_rsa.pub | ssh user@123.45.67.89 "cat >> ~/.ssh/authorized_keys"
命令代替。 - 設(shè)置別名登陸泡垃, 在 ~/.ssh/ 目錄下新建 config 文件析珊, 文件內(nèi)容如下
HOST host2
HostName 127.0.0.1 # 遠(yuǎn)程主機(jī)的IP地址
User root # 登陸名
HOST host1
HostName 123.123.123
User root
說明
配置完成后 就可以使用 ssh host1 命令登陸host1服務(wù)器
特別注意
在linux中有文件權(quán)限問題, 需要設(shè)置 ~/.ssh/config
和 ~/.ssh/id_rsa.pub
兩個(gè)文件的權(quán)限 為 600
更改命令chmod 600 config
github ssh訪問失敗
最近總遇到clone時(shí)提示訪問22端口超時(shí)蔑穴,可以通過https端口實(shí)現(xiàn)ssh訪問忠寻,配置上文提到的config文件,添加如下內(nèi)容
Host github.com
HostName ssh.github.co
Port 443