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文件有错误