今天我們也來(lái)聊聊 Mac 與服務(wù)器 ssh 無(wú)密碼登錄的問(wèn)題
這里只聊 bash 和 zsh 這兩種情況
-
bash: 編輯vim ~/.bash_profile,如果沒(méi)有,那么新建它;有的話就打開修改。
zsh的話,編輯vim ~/.zshrc, 道理相同,在最后面追加就可以了。 - 添加別名:
alias jianwen="ssh root@192.168.0.122"等號(hào)前后不能出現(xiàn)空格 - 使配置命令生效:
bash下執(zhí)行source ~/.bash_profile,此條命令是使bash重新載入剛才的配置命令并生效。 如果是zsh,就用source ~/.zshrc
ssh 無(wú)密碼登錄
- 生成密鑰:如果需要自定義文件名稱可以使用
-f參數(shù)
#可以看到兩個(gè)密鑰文件:id_rsa(私鑰) id_rsa.pub(公鑰)
#公鑰是加密,私鑰是解密(不要外傳私鑰)
$ ssh-keygen -t rsa -C "email@example.com"
ssh-copy-id 命令可以把本地主機(jī)的公鑰復(fù)制到遠(yuǎn)程主機(jī)的 authorized_keys 文件上,ssh-copy-id 命令也會(huì)給遠(yuǎn)程主機(jī)的用戶主目錄(home)和~/.ssh, 和 ~/.ssh/authorized_keys 設(shè)置合適的權(quán)限。
ssh-copy-id [-i [identity_file]] [user@]machine
-i:指定公鑰文件
例子
1、把本地的 ssh 公鑰文件安裝到遠(yuǎn)程主機(jī)對(duì)應(yīng)的賬戶下:
ssh-copy-id user@server
ssh-copy-id -i ~/.ssh/id_rsa.pub user@server
- 將公鑰復(fù)制到服務(wù)器
~~ ~~# 先登錄到遠(yuǎn)程服務(wù)器~~ ~~# 有的話添加(有的話不要?jiǎng)h掉,因?yàn)閯e人可能做過(guò)免密登錄),沒(méi)有則新建一個(gè)就行~~ ~~# 以上要注意的是: 公鑰要放在登錄服務(wù)器所用的賬號(hào)的家目錄下,比如你用 jianwen 登錄 遠(yuǎn)程服務(wù)器,就要把公鑰放到 /home/jianwen/.ssh/ 下, authorized_keys 文件也是在這個(gè)目錄下。~~ ~~scp ~/.ssh/id_rsa.pub username@hostname:~/.ssh~~ ~~cd ~/.ssh~~ ~~cat -n /root/.ssh/id_rsa.pub >> authorized_keys~~ ~~
- 修改服務(wù)端 ~/.ssh 文件夾權(quán)限為 700,修改 id_rsa.pub 的權(quán)限和 authorized_keys的權(quán)限
~~ ~~chmod 700 ~/.ssh~~ ~~chmod 600 ~/.ssh/authorized_keys~~ ~~
- 在 Mac 端 使用 ssh-copy-id User@ip 然后輸入一次密碼就可以了,以后就可以正常使用別名登錄了
注:* ssh-copy-id 命令可以把本地主機(jī)的公鑰復(fù)制到遠(yuǎn)程主機(jī)的authorized_keys文件上,ssh-copy-id命令也會(huì)給遠(yuǎn)程主機(jī)的用戶主目錄(home)和~/.ssh, 和~/.ssh/authorized_keys設(shè)置合適的權(quán)限。