1、打开Xshell界面,中文界面方便操作,菜单栏:工具——新建用户密钥生成向导

2、密钥类型选择RSA,密钥长度选择2048位,单击下一步继续;

3、很快生成公钥对,单击下一步继续;

4、密钥名称可以自定义,起一个自己理解的名称,或者保持默认,输入密钥加密的密码,用于远程登录;

5、将生成的公钥复制一份,或保存为文件,完成密钥生成。

6、复制生成的公钥到远程linux要登陆的用户家目录里面 ~/.ssh/authorized_keys 文件中。如果没有.ssh目录,需要自己建立一个,并更改目录权限为700(744把读的权限也给连接)

[root@localhost ~]# mkdir /webuser/.ssh
[root@localhost ~]# chmod /webuser/.ssh/
[root@localhost ~]# vim /webuser/.ssh/authorized_keys
粘贴公钥的内容,保存退出。

在进行粘贴操作时哥们痛苦了,用vim的dd删除命令删除后 粘贴新的公钥,发现竟然TMD多了一行 一直导致  连接时提示远程未注册(哥们都操了!)
后来是 用 删除键一个个字符删掉再拷贝才成功!dd,你为毛要删除再粘贴前面多一行啊!55555555555

另外特别注意:

上传公钥至服务器之后要修改

A - 将我们生成的webuse.pub公钥文件上传到/webuse/.ssh文件夹下面(如果没有我们需要创建),然后我们需要将webuse.pub重命名为authorized_keys (千万写敲错)并且用chmod 600 authorized_keys设置权限。

B - 找到/etc/ssh/sshd_config ,把RSAAuthentication和PubkeyAuthentication两行前面的#注释去掉。(这是重点)

C - 重启SSHD服务

7、关闭远程linux防火墙,千万不要漏掉这一部分;(哥们没有设置,照样成功!)
永久关闭selinux
 #vi /etc/selinux/config        #修改selinux的配置文件
更改“SELINUX=enforcing”为 SELINUX=disabled  保存退出。
[root@localhost ~]# /usr/sbin/sestatus -v        #查看selinux的状态命令
SELinux status:                disabled
关闭防火墙
[root@localhost ~]# iptables -F                                #清空防火墙配置
[root@localhost ~]# /etc/init.d/iptables save          #清空防火墙配置后,记得保存
iptables:将防火墙规则保存到 /etc/sysconfig/iptables:    [确定]

8、新建一个窗口,名称写一个方便标示的,主机填写远程linux的ip地址;

9、点击左侧用户身份验证,方法下拉菜单里面选择Public Key,用户名为webuser,用户密钥下拉菜单选择之前生成的密钥,或者浏览里面选择,密码填写生成密钥时设置的密码,点击连接就可以远程访问linux了。

错误提示:

xshell登录时,提示“所选的用户密钥未在远程主机上注册 ”

跟踪

登陆目标机器,查看sshd的日志信息。日志信息目录为,/var/log/secure
你会发现如下字样的日志信息。
Jul 22 14:20:33 v138020.go sshd[4917]: Authentication refused: bad ownership or modes for directory /home/webuser

原因

sshd为了安全,对属主的目录和文件权限有所要求。如果权限不对,则ssh的免密码登陆不生效。
用户目录权限为 755 或者 700,就是不能是77x。
.ssh目录权限一般为755或者700。
rsa_id.pub 及authorized_keys权限一般为644
rsa_id权限必须为600

解决方法

检测目录权限,把不符合要求的按要求设置权限即可。

我的网站目录也在当前用户家目录下  单独设置权限即可

利用xshell密钥管理服务器远程登录+VIM dd命令操作之伤之再伤的更多相关文章

  1. Linux课程---3、Linux远程登录和传输(操作Linux服务器软件)

    Linux课程---3.Linux远程登录和传输(操作Linux服务器软件) 一.总结 一句话总结: xshell:Xshell是一个强大的安全终端模拟软件 Xshell是一个强大的安全终端模拟软件, ...

  2. linux 命令行远程登录 后台运行命令的方法

    linux 命令行远程登录 后台运行命令的方法 http://blog.csdn.net/isuker/article/details/55061595 Linux 技巧:让进程在后台可靠运行的几种方 ...

  3. 利用容器逃逸实现远程登录k8s集群节点

    某天, 某鱼说要吃瞄, 于是...... 李国宝:边缘计算k8s集群SuperEdge初体验 ​ zhuanlan.zhihu.com 图标 照着上一篇文章来说,我这边边缘计算集群有一堆节点. 每个节 ...

  4. Mysql 远程登录及常用命令

    第一招.mysql服务的启动和停止 net stop mysql net start mysql 第二招.登陆mysql 语法如下: mysql -u用户名 -p用户密码 键入命令mysql -uro ...

  5. Xshell登陆服务器及Linux的简单命令

    在之前的推文中,我已经给出了怎样利用Git登陆服务器”你在用xshell,putty登陆?推荐一个小工具(Git)登陆“其中包括xshell登陆服务器.今天讲讲常见的Linux命令,这个和之前将的利用 ...

  6. Xshell无法使用root远程登录Ubuntu16服务器

    修改/etc/ssh/sshd_config文件,把PermitRootLogin Prohibit-password 添加#注释掉 新添加:PermitRootLogin yes 2. 重启ssh服 ...

  7. window 系统 修改服务器远程登录端口

    window 系统 [ 默认3389远程端口 ] 快捷键:Ctrl+R  然后输入“regedit”,打开注册表 或者 单击左下角[开始]——[运行],然后在输入框输入 regedit,点击确定,打开 ...

  8. python的paramiko模块-远程登录linux主机并操作

    paramiko是一个用于做远程控制的模块,使用该模块可以对远程服务器进行命令或文件操作. 如果python服务器对被远程控制机器开启了免密验证,即在python服务器上可通过ssh 用户名@被控制机 ...

  9. 使用paramiko远程登录并执行命令脚本

    #!/usr/bin/env python #coding=utf-8 import paramiko, getpass,sys,traceback class ssh_utils(): def lo ...

随机推荐

  1. .NET使用NPOI组件将数据导出Excel

    .NPOI官方网站:http://npoi.codeplex.com/ 可以到此网站上去下载最新的NPOI组件版本 2.NPOI在线学习教程(中文版): http://www.cnblogs.com/ ...

  2. 在Windows Server 2008 R2 中架设 SMTP 服务器

    安装SMTP服务器 Step 1 在功能里面勾选SMTP 服务器,一路下一步完成安装 Step 2 在IIS6的SMTP属性里面的访问标签点击连接,然后设置本机可访问. (其实可以不用设置) Step ...

  3. xhprof安装记录

    选择一个工具分析PHP函数调用的资源耗用明细,以图表化的形式展现,方便优化代码. 安装xhprof $ pecl install xhprof-beta
  在php.ini引用的extension中 ...

  4. BZOJ 1856: [Scoi2010]字符串( 组合数 )

    求(0,0)->(n,m)且在直线y=x下方(可以在y=x上)的方案数...同 http://www.cnblogs.com/JSZX11556/p/4908648.html --------- ...

  5. http://riddle.arthurluk.net walkthrough

    MSVFMyU4MCU4MWh0dHAlM0ElMkYlMkZyaWRkbGUuYXJ0aHVybHVrLm5ldCUyRnN0YWdlb25lLnBocCUwRCUwQTIlRTMlODAlODFo ...

  6. Python学习之路——字符处理(一)

    一.整数: 例如:1.10.30 整数可以做以下操作: bit_length函数:返回该整数占用的最少位数: >>> x=100 >>> x.bit_length( ...

  7. 我的ubuntu

    题外话:不知不觉也已经大三,最近思考了很多.在腾讯网看到了对李嘉诚的一篇专访,感触颇深. 想起来我从第一次接触ubuntu到现在也有一年了,记得第一个版本还是12.04,不过很快就换成了12.10,在 ...

  8. Netflix

    2009年Netflix举办了一场Netflix大奖赛.他们公开一批匿名数据,允许参赛团队使用以得出更好的算法.他们从获胜的团队中得到了现有算法10.06%的提升.Netflix本想再举行一场Netf ...

  9. perl encode_utf8 和decode_utf8

    encode_utf8 等于 $octets = encode_utf8($string); 这个字符串 在$string 在Perl的内部格式,返回结果是作为一个顺序的字节. 因为所有的可能的字符串 ...

  10. linux内核源码阅读之facebook硬盘加速flashcache之三

    上一节讲到在刷缓存的时候会调用new_kcahed_job创建kcached_job,由此我们也可以看到cache数据块与磁盘数据的对应关系.上一篇:http://blog.csdn.net/lium ...