Linux
- 产看本地是否有ssh 公私钥
<code>1 cd ~/.ssh
2 ls -a</code>
有的话继续(没有 ssh-keygen 生成)
将公钥内容复制到要连接的服务器用户下
方法一
<code>ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.100.10
# | | | |
# ssh命令 本机公钥的地址 服务器用户 服务器IP地址</code>
方法二
登录到服务器,直接将本机的公钥复制到root下authorized_keys(我这里用的是root用户)
服务器重点
给.ssh 文件夹设置权限
<code>chmod 700 .ssh</code>
给authorized_keys 文件设置权限
<code>chmod 600 authorized_keys</code>
在Linux下写配置文件config
<code>touch config # 创建config文件
vi config # 编写config</code>
config具体内容
<code>host "roc" # ssh连接的别名
HostName 123.56.240.37 # 服务器IP
User root # 登陆的用户
Port 22</code>
保存退出后
ssh链接
<code>ssh roc</code>
输入密码后就可以了
windows
跟Linux一样在C盘用户目录下有个.SSH文件夹(先选择文件查看隐藏的文件,否则你是查看不到的)
没有的话去生成
之后在.ssh文件中创建一个config文件
<code>Host rot # 可用 "rot" 'rot' 不可
HostName 123.57.240.37
User root
Port 22</code>
同样的操作把生成的公钥复制到服务器需要登录用户的authorized_keys文件下(注意权限)
链接服务器
<code># 第一种
ssh rot
# 第二种
ssh root@rot # rot--> 对应Host
|
# 需要登陆的用户对应User
# 俩种方法都可以</code>
免密登录
如果你觉的输入密码麻烦的话 在config文件中加入下面两横 ,就可以实现免密登录
<code>PreferredAuthentications publickey
IdentityFile C:UsersJack-Roc.sshjack_rsa # 私钥的具体地址</code>
同样如果Linux 也想免密登陆的话也要加入这两横。
解决问题
问题一
<code>root@123.57.240.37: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).</code>
出现这个问题,使用ssh 私钥链接
<code>ssh root@rot -i ./testrsa(私钥地址) # 失败的话,检查一下你的公私钥是否一致 服务器公钥是否正确
# 检查一下文件权限</code>
问题二
<code>ssh: Could not resolve hostname rot: 262273326252265300325342321371265304326367273372241243</code>
说明你本地config文件有错误
原文:https://www.cnblogs.com/xinzaiyuan/p/12070647.html
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!