Linux
- 產看本地是否有ssh 公私鑰
1 cd ~/.ssh
2 ls -a
有的話繼續(沒有 ssh-keygen 生成)
將公鑰內容復制到要連接的服務器用戶下
方法一
ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.100.10
# | | | |
# ssh命令 本機公鑰的地址 服務器用戶 服務器IP地址
方法二
登錄到服務器,直接將本機的公鑰復制到root下authorized_keys(我這里用的是root用戶)
服務器重點
給.ssh 文件夾設置權限
chmod 700 .ssh
給authorized_keys 文件設置權限
chmod 600 authorized_keys
在Linux下寫配置文件config
touch config # 創建config文件
vi config # 編寫config
config具體內容
host "roc" # ssh連接的別名
HostName 123.56.240.37 # 服務器IP
User root # 登陸的用戶
Port 22
保存退出后
ssh鏈接
ssh roc
輸入密碼后就可以了
windows
跟Linux一樣在C盤用戶目錄下有個.SSH文件夾(先選擇文件查看隱藏的文件,否則你是查看不到的)
沒有的話去生成
之后在.ssh文件中創建一個config文件
Host rot # 可用 "rot" 'rot' 不可
HostName 123.57.240.37
User root
Port 22
同樣的操作把生成的公鑰復制到服務器需要登錄用戶的authorized_keys文件下(注意權限)
鏈接服務器
# 第一種
ssh rot
# 第二種
ssh root@rot # rot--> 對應Host
|
# 需要登陸的用戶對應User
# 倆種方法都可以
免密登錄
如果你覺的輸入密碼麻煩的話 在config文件中加入下面兩橫 ,就可以實現免密登錄
PreferredAuthentications publickey
IdentityFile C:\Users\Jack-Roc\.ssh\jack_rsa # 私鑰的具體地址
同樣如果Linux 也想免密登陸的話也要加入這兩橫。
解決問題
問題一
root@123.57.240.37: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
出現這個問題,使用ssh 私鑰鏈接
ssh root@rot -i ./testrsa(私鑰地址) # 失敗的話,檢查一下你的公私鑰是否一致 服務器公鑰是否正確
# 檢查一下文件權限
問題二
ssh: Could not resolve hostname rot: \262\273\326\252\265\300\325\342\321\371\265\304\326\367\273\372\241\243
說明你本地config文件有錯誤