如何通过sshssh不能远程登录linuxx系统

配置Linux服务器SSH远程密钥登录 | 系统运维
技术交流QQ群:& && && &
现在的位置:
配置Linux服务器SSH远程密钥登录
服务器IP:192.168.21.131
管理员账号:root 密码:123456
普通登录账号: 密码:123456
实现目的:
1、配置普通账号通过密钥验证远程SSH登录服务器
2、禁用root账号通过远程SSH登录服务器
3、禁用所有账号通过密码验证远程SSH登录服务器
具体操作:
1、配置普通账号通过密钥验证远程SSH登录服务器
使用普通账号登录服务器操作
ssh-keygen -t rsa #生成密钥
mv id_rsa.pub authorized_keys
#生成验证文件
下载服务器//.ssh/id_rsa文件到本地(可以使用winscp等工具下载)
温馨提醒:qihang01原创内容(C)版权所有,转载请注明出处及原文链接
打开puttygen.exe
下载地址:
选择Conversions-Import key打开上一步下载到本地的文件id_rsa
点Save private key,根据提示选择“是”,最后保存为id_rsa.ppk
2、禁止root通过SSH远程登录服务器、禁用所有账号通过密码验证远程SSH登录服务器
vi /etc/ssh/sshd_config #编辑
PermitRootLogin no #把前面的注释#取消,yes修改为no,这样root就不能远程登录了!
PasswordAuthentication no #把前面的注释#取消,yes修改为no,这样就禁用所有账号通过密码验证登录
:wq! #保存退出
/etc/init.d/sshd restart #重启SSH服务
3、打开putty.exe 使用root账户登录,出现下面提示,无法直接登录
putty下载地址:
使用普通账户登录,出现下面提示,无法直接登录
4、实现普通账户通过密钥验证远程SSH登录服务器
打开putty.exe,切换到Connection-SSH-Auth,点Browse...
选择第一步中保存的id_rsa.ppk文件
再切换到Connection-Data,Auto-login username输入
再切换到Session,Host Name 输入192.168.21.131 Port为22(如果修改过ssh端口的请填写相应端口)
配置完成之后,最后点Open,现在已经登录到系统了!
温馨提醒:qihang01原创内容(C)版权所有,转载请注明出处及原文链接
如下图所示
su - root #切换到root用户,根据提示输入密码
至此,配置Linux服务器SSH远程密钥登录完成!
&&&&&>> 本文链接:>> 订阅本站:>> 转载请注明来源: >>
&&系统运维技术交流QQ群:①& ②& ③&
【上篇】【下篇】
您可能还会对这些文章感兴趣!
您必须才能发表留言!
本分类最新文章
日志总数:336篇
评论总数:1030条
分类总数:70个
标签总数:479个
友情链接:36个
网站运行:2230天
最后更新:日
欢迎PR值≥3的IT类技术博客与本站友情链接(申请前请先做好本站链接)
Copyright&
系统运维 All rights reserved
版权声明:本站所有文章均为作者原创内容,如需转载,请注明出处及原文链接本文讲的是Linux实现利用SSH远程登录服务器详解,
远程登录方式有telnet和ssh两种方式,由于telnet使用的是明文传输,传输过程中系统帐号密码等重要信息容易被截获,安全性比不上SSH(secure shell),因此现在一般都使用SSH作为远程登录的工具。
其实很多lin
远程登录方式有telnet和ssh两种方式,由于telnet使用的是明文传输,传输过程中系统帐号密码等重要信息容易被截获,安全性比不上SSH(secure shell),因此现在一般都使用SSH作为远程登录的工具。
其实很多linux版本如ubuntu已经内置了ssh-agent,这是一个远程连接的工具,通过ssh-agent可以发起远程连接,但是如果你要想实现在其他电脑远程登录自己的电脑,就必须安装openssh,可以通过以下命令
sudo apt-get install openssh
sudo pacman -S openssh
系统会自动下载并完成安装,完成后可通过以下命令查看ssh服务是否启动
ps -ef | grep sshd
如果没有sshd这个进程,手动启动
sudo /etc/init.d/ssh start
sudo /etc/rc.d/sshd start
ArchLinux把sshd添加到DAEMONS数组开机启动
DAEMONS=(syslog-ng network crond dbus alsa @openntpd sshd)
如果出现sshd进程,表示ssh服务已经启动,此时不出意外你在其他电脑上就可以通过ssh连接到自己的电脑上面了。关于ssh连接的工具,windows平台上面推荐Secure-CRT软件,这是一个非常受欢迎的软件,使用也比较简单。也可以选择Putty,不过建议下载官方英文版,前段时间汉化版的putty有后门的事在网上炒得沸沸扬扬。Linux系统因为已经自带ssh-agent所以比较方便,直接在terminal里面输入以下命令
ssh username@ip
username是你的登录账户,ip即ip地址,当然你也可以使用域名
ssh username@domain
此时系统会要求你输入密码进行验证,验证通过就能登录到远程主机.为了安全起见,需要进行一些简单的配置,否则日后查看ssh日志文件的时候会发现大量ip的登录失败信息。其实是别人通过端口扫描软件扫描出开启来22(ssh默认)端口的主机,然后通过穷举法进行密码猜解,如果你使用的是弱口令,被猜解出的几率是非常高的。
配置文件路径
/etc/ssh/ssh.conf
/etc/ssh/sshd.config
我们可以通过编辑这个文件来进行配置。当你尝试登录别人的主机的时候你会以什么身份登录?当然是root用户,因为root是每个Linux系统都存在的用户。因此我们应该禁用root用户登录,找到
PermitRootLogin yes
把yes改为no即可。
端口扫描软件默认扫描22端口,因此我们也可以把端口改成其他端口,找到以下语句
把其中的22改成你其他端口,比如1022之类的。
限制一下最大密码错误次数,3次吧,自己登录基本不会连续错3次,密码错误超过3次拒绝登录
MaxAuthTries 3
修改之后保存退出,重启ssh服务
sudo /etc/init.d/ssh restart
sudo /etc/rc.d/sshd restart
注意,修改了端口之后用CLI模式登录时需要声明端口
ssh -p 1022 username@ip
通过简单的配置后你会发现来自不明ip的失败登录明显的减少。忘了说,ssh登录日志保存在这个文件
/var/log/auth.log
在Archlinux下这个文件的拥有者为root,群组为log,权限为640,为了方便普通用户查看日志,把用户加入到log组(不推荐others加权限)
sudo gpasswd -a song log
平时可以cat一下这个文件看看登录记录,当然有时文件会比较长,特别是没禁用root用户之前,往往来自同一个ip的登录失败次数达到数千条,如果你一行行查看得看到什么时候,因此我们只输出root登录失败的记录(虽然禁用root登录,但有人尝试以root身份登录时系统仍会记录)
grep "Failed password for root" /var/log/auth.log | awk {'print $11'} | uniq -c | sort -rn
系统会列出曾经登录失败的ip并且统计失败次数从高到底排列,当然你也可以输入登录成功的记录
grep "Accepted password for " /var/log/auth.log
系统会列出曾经登录主机的记录,包括时间、ip地址等
另外,本人使用的是Android的手机,使用的是Linux的内核,所以希望也能从手机远程登录自己的电脑。首先,手机上安装支持ssh连接的软件,Cyanogenmod7版本的系统就自带一个Terminal,简直就是一个微型的linux终端,基本上很多基本的指令都能执行,比如:ls,cd,mount,cat,nano等等。接下来还有一个问题,我使用的是电信的ADSL,通过TP-link路由器pppoe拨号上网,每次拨号获取的ip都不一样,这样是无法ssh登录的,因为你不知道下一次获取的ip地址是多少。于是想到了windows下的花生壳客户端,可以动态解析域名,赶紧到花生壳网站申请了一个免费域名,不过当时还没发布linux的客户端(现在有源码安装),隐约好像记得TP-link有动态DNS功能,登录上去果不其然,在动态DNS的服务提供者选花生壳,账户密码就填花生壳网站的账户密码,登录之后就会把花生壳帐号绑定的域名解析到本地,但是当你通过域名ssh连接的时候发现是连接不上的,因为拨号上网的是路由器,花生壳会把域名解析到你的路由器,而不是你的电脑,因此还要做进一步设置。在TP-link路由器设置页面的转发规则里选DMZ主机,把DMZ状态设置启用,DMZ主机ip地址填你从路由器DHCP服务器获得ip,如果你的路由器比较多人上网可能每次从DHCP获得的ip也是不一样的,所以要把你的主机mac地址和某一个ip地址绑定,也就是把某一个ip地址保留给你的网卡,让你每次获取的都是同一个ip,把这个ip地址填到DMZ主机ip地址里面。再用域名来ssh连接发现已经可以正常链接了。
最后放上几张手机远程登录主机成功后的截图
welcome to ubuntu
ll 查看文件属性
以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索密码
ssh登陆远程服务器、ssh登录远程服务器、ssh访问远程服务器、ssh连接远程服务器、ssh远程linux服务器,以便于您获取更多的相关知识。
弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率
稳定可靠、可弹性伸缩的在线数据库服务,全球最受欢迎的开源数据库之一
6款热门基础云产品6个月免费体验;2款产品1年体验;1款产品2年体验
开发者常用软件,超百款实用软件一站式提供
云栖社区()为您免费提供相关信息,包括
的信息,还有ssh登陆远程服务器、ssh登录远程服务器、ssh访问远程服务器、ssh连接远程服务器、ssh远程linux服务器等
,所有相关内容均不代表云栖社区的意见!当前位置:
教你如何用xshell来连接远程Linux服务器
  大家都知道xshell如何连接远程Linux服务器吗?今天小编就教大家如何用xshell来连接远程Linux服务器,有兴趣的小伙伴一起来看看吧。  xshell摆脱之前代码繁琐的连接步骤,让很多人松了一口气。而且苏州思杰马克丁软件公司成为了大陆地区的代理商后,推出了xshell中文版软件,解决了国内之前使用英文版的困扰,它比市面上所谓的xshell中文破解版可是安全的多。  安装好软件之后,我们应该如何去连接了?不要着急哈,我们这就来一一为大家解答:  1.安装好软件之后,点击xshell菜单栏下的新建会话框  图一:新建会话框界面  2.选中新建会话框里面的连接,这时会出现一个主机的空格要输入进去。  图二:连接主机名  3. 在终端的选项中,选择UTF8国际编码以避免管理中文显示乱码  图三:终端会话框  3.接着就会出现会话窗口,选中点击连接后有一个是否保存会话设置,点击接受,输入用户名和密码即可。这边提醒大家一下,如果要保留会话建议设置勾选记住用户名和记住密码,下次直接点击就可以连接了。  图四:新建会话窗口  如果用户名和密码都设置正确了就能连接到linux服务器了哈。相关文章 / Related ArticlesLinux下远程连接SSH和OpenSSH应用_服务器应用_Linux公社-Linux系统门户网站
你好,游客
Linux下远程连接SSH和OpenSSH应用
来源:Linux社区&
作者:masachencer
一、远程连接协议;
telnet:是一种通用的远程登陆服务的标准协议和主要方式,它为用户提供了在本地计算机上完成远程主机工作的能力;telnet采用C/S架构,工作与23/tcp端口上,在6下,软件包主要为服务端telnet-server和客户端tennet,服务进程被被超级进程xinetd管理,禁止管理员直接登陆;在用户登录传输信息的过程中都是明文信息,无法保障安全,所以不建议用telnet。
ssh:Secure Shel,即安全外壳协议;SSH 为建立在应用层和传输层基础上的安全协议,ssh也采用C/S架构,工作与22/tcp端口上;ssh有两个版本,sshv1和sshv2;
sshv1:基于CRC-32做MAC;不安全,不推荐使用;
sshv2:基于双方主机的协商选择使用最安全的MAC方式,机密机制及MAC机制由双方协商选定;基于DH实现密匙交换,基于RSA或DSA实现身份认证,客户端通过检查服务器端的主机密匙来判断是否能够继续通信。
二、OpenSSH简述:
是一组用于安全地访问远程计算机的连接工具。它可以作为rlogin、rsh rcp以及telnet的直接替代品使用。更进一步,其他任何TCP/IP连接都可以通过SSH安全地进行隧道/转发。OpenSSH对所有的传输进行加密,从而有效地阻止了窃听、连接劫持,以及其他网络级的攻击。OpenSSH由OpenBSD project维护。
登录过程和使用rlogin或telnet建立的会话非常类似。在连接时,SSH会利用一个密钥指纹系统来验证服务器的真实性。只有在第一次连接时,用户会被要求输入yes。之后的连接将会验证预先保存下来的密钥指纹。如果保存的指纹与登录时接收到的不符,则将会给出警告。指纹保存在~/.ssh/known_hosts中,对于SSHv2指纹,则是~/.ssh/known_hosts2。
默认情况下,较新版本的OpenSSH只接受SSHv2连接。如果能用版本2则客户程序会自动使用,否则它会返回使用版本1的模式。此外,也可以通过命令行参数-1或-2来相应地强制使用版本1或2。保持客户端的版本1能力是为了考虑较早版本的兼容性。
OpenSSH的组成:
采用C/S架构;
Client:Linux下工具主要为ssh、scp、sftp,软件包为openssh-client;
Windows下ssh客户端工具有:putty、xshell、securecrt、sshshellclient;
Server:服务进程sshd,软件包为openssh-server;
三、OpenSSH客户端应用;
# yum install openssh-client& & :安装openssh客户端;
# /etc/ssh/ssh_config& & :配置文件
命令语法:
# ssh [username@]host[-p PORT]& [COMMAND]
# ssh [-l username] host [-p PORT] [COMMAND]
username@=-l username:指定登录远程主机的用户,不指定则使用本地当前用户尝试登陆,如果远程主机不存在此用户,会报错;
-p PORT:指定远程服务器端口,默认为22;
COMMAND:登录远程主机执行一次指定的命令并返回结果,不会停留在远程主机上;
利用ssh协议在主机之间实现安全文件传输的工具;
# scp SRC1... DEST
命令选项:
-r:递归,复制目录时使用;
-p:保持源文件的元数据信息,包括mode和timestamp;
-q:静默模式;
-p PORT:指定ssh协议监听的端口;
分两种情形:
1)、源文件在本机,目标为远程;
# scp /path/to/somefile... USERNAME@HOST:/path/to/somewhere
2)、源文件在远程,本地为目标;
# scp USERNAME@HOST:/path/to/somewhere /path/to/somewhere
基于ssh的ftp服务:
# sftp USERNAME@HOST& & :登陆ftp;
四、openssh的服务端:
# yum install openssh-server& & :安装openssh客户端;
# chkconfig sshd on& & :sshd服务开机启动;
# service sshd start& & :启动sshd服务:
# sun &tnl | grep :22& & :查看22/tcp号端口;
# /etc/ssh/sshd_config& & :配置文件
# /etc/rc.d/init.d/sshd& & :服务脚本
# /etc/sysconfig/sshd& & :脚本配置文件
# man sshd_config& & :查看配置参数
1、sshd认证方式:
1)、基于口令的认证;
即用户名和密码;
2)、基于密钥的认证
# ssh-keygen -t rsa& & :rsa算法生成密钥;默认密钥为id_rsa(私钥),id_rsa.pub(公钥);
-f /path/to/somefile:密钥文件保存位置;
-P ' ':指定oldpassword;
# ssh-copy-id -i .ssh/id_rsa.pub USERNAME@HOST& & :传输自动验证密钥文件;
也可以公钥文件传输(scp)给远程主机,远程主机将公钥信息追加至指定用户~/.ssh/authorized_keys,授权远程登陆;
操作实例;
2、sshd最佳实践;
1)、不要使用默认的22号端口;
2)、不要使用protocol1;
3)、限制可登录的用户;
AllowUserr1 user2 ...
AllowGroups grp1 grp2...
DenyGroups
4)、设定空闲会话超时时长;
ClientAliveInterval 300
ClientAliveCountMax 0
5)、利用防火墙设置ssh访问策略;
6)、仅监听在特定的IP地址,而非本机所有的IP地址;
7)、使用强密码策略
# tr -dcA-Za-z0-9_ & /dev/urandom | head -c 30 | xargs
8)、使用基于密钥的认证;
9)、禁止使用空密码;
10)、禁止root用户直接登录;
11)、限制ssh的访问频度
12)、做好日志,经常分析;
更多OpenSSH相关内容可以查看以下的有用链接:&
在 Server 13.10系统中安装配置OpenSSH
Ubuntu安装远程登录OpenSSH服务
通过OpenSSH远程登录时的延迟问题解决
Ubuntu 12.10下OpenSSH的离线安装方法
OpenSSH升级步骤及注意事项详解
OpenSSH普通用户无法登录的几种情况的解决方法
通用线程: OpenSSH 密钥管理,第 1 部分理解 RSA/DSA 认证
安装OpenSSH和配置sftp锁定目录
OpenSSL 的详细介绍:OpenSSL 的下载地址:
本文永久更新链接地址:
相关资讯 & & &
& (12/04/:39)
& (08/31/:05)
& (03月31日)
& (10/20/:19)
& (08/22/:42)
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款

我要回帖

更多关于 linux开启ssh远程登录 的文章

 

随机推荐