今天我們也來聊聊 Mac 與服務(wù)器 ssh 無密碼登錄的問題
這里只聊 bash
和 zsh
這兩種情況
-
bash
: 編輯vim ~/.bash_profile
硼砰,如果沒有歹苦,那么新建它壶谒;有的話就打開修改。
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 無密碼登錄
- 生成密鑰:如果需要自定義文件名稱可以使用
-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人可能做過免密登錄)药版,沒有則新建一個(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)限乔妈。