转载自http://songtl.com/2012/04/22/%E4%BB%A3%E7%A0%81%E6%B5%8B%E8%AF%95/

Linux实现SSH远程登录

Author: song       Date: April 22nd, 2012

远程登录方式有telnet和ssh两种方式,由于telnet使用的是明文传输,传输过程中系统帐号密码等重要信息容易被截获,安全性比不上SSH(secure shell),因此本文讨论的是通过ssh实现远程登录的方法。

其实很多linux版本如ubuntu已经内置了ssh-agent,这是一个远程连接的工具,即你可以通过ssh-agent连接到别人的电脑实现远程登录,但是如果你要想实现在其他电脑远程登录自己的电脑,就必须安装openssh,可以通过以下命令
ubuntu

sudo apt-get install openssh

ArchLinux

sudo pacman -S openssh

系统会自动下载并完成安装,完成后可通过以下命令查看ssh服务是否启动

ps -e | grep sshd

如果没有sshd这个进程,手动启动
ubuntu

 sudo /etc/init.d/ssh start

ArchLinux

sudo /etc/rc.d/sshd start

ArchLinux把sshd添加到DAEMONS数组开机启动

DAEMONS=(syslog-ng network crond dbus alsa @openntpd sshd)

如果出现sshd进程,表示ssh服务已经启动,此时不出意外你在其他电脑上就可以通过ssh连接到自己的电脑上面了。关于ssh链接的工具,windows平台上面推荐putty软件,这是一个非常受欢迎的软件,使用也比较简单。建议官方下载英文版(其实也就那几个简单英文单词),前段时间汉化版putty有后门的事在网上炒得沸沸扬扬。Linux系统因为已经自带ssh-agent所以比较方便,直接在terminal里面输入以下命令

ssh username@ip

username是你的登录账户,ip即ip地址,当然你也可以使用域名

ssh username@domain

此时系统会要求你输入密码进行验证,验证通过就能登录到远程主机。至此,我们就完成了ssh远程登录的安装!但是,我们需要对ssh服务进行一些简单的安全配置,否则日后你查看ssh日志文件的时候会发现大量ip的登录失败信息。其实是别人通过端口扫描软件扫描出开启来22(ssh默认)端口的主机,然后通过穷举法进行密码猜解,如果你使用的是弱口令,被猜解出的几率是非常高的。

配置信息保存在
ubuntu

/etc/ssh/ssh.conf

Archlinux

/etc/ssh/sshd.config

我们可以通过编辑这个文件来进行配置。当你尝试登录别人的主机的时候你会以什么身份登录?当然是root用户,因为root用户每个系统都存在。因此我们应该禁用root用户登录,找到

PermitRootLogin yes

把yes改为no即可。

端口扫描软件默认扫描22端口,因此我们也可以把端口改成其他端口,找到以下语句

port 22

把其中的22改成你其他端口,比如1022之类的。

限制一下最大密码错误次数,3次吧,自己登录基本不会连续错3次,密码错误超过3次拒绝登录

MaxAuthTries 3

修改之后保存退出,至于高级进阶的安全配置可以参考官方文档。

重启ssh服务
ubuntu

sudo /etc/init.d/ssh restart

ArchLinux

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

熟悉的根目录

文件详细信息

用手机远程登录电脑,太高端了。。。。相关推荐

  1. android原生手表,4款安卓智能手表测评:小米狂卖性价比,华为太高端没OPPO实在?...

    原标题:4款安卓智能手表测评:小米狂卖性价比,华为太高端没OPPO实在? 随着现代生活理念的提升,人们纷纷开始重视起健身和运动,智能手表逐渐成为了热潮.目前来看,市场占有率最高的是Apple Watc ...

  2. 毕为手机用什么软件连接台式计算机,TeamViewer功能使用,实现手机远程遥控电脑...

    TeamViewer功能使用,实现手机远程遥控电脑 2020-04-09 如何使用手机远程控制电脑?相信很多人对这一问题比较感兴趣,毕竟平时办公可能会遇到这一困扰,其实大家可以利用专业软件来进行手机遥 ...

  3. 如何使用计算机远程关闭手机软件,如何使用手机远程遥控电脑关机?手机遥控电脑关机方法图文介绍...

    电脑定时关机很正常,但是你试过手机遥控电脑关机吗?或许你有时候很懒,相关电脑如何通过手机遥控关机.现在已经可以实现,简单就可以遥控电脑关机.一个屌丝般的软件,高富帅般的技术,下边详细介绍一下如何使用手 ...

  4. 首页 系统相关 正文 小米手机远程和电脑互相连接及控制的方法

    [文章摘要]Windows系统自带了一个远程桌面服务,我们可以很方便利用这个服务来进行远程桌面控制,很多人会用电脑进行远程终端登陆,用手机进行远程桌面访问的人就不多了.下面详细给大家说明. 原文链接: ...

  5. 怎样远程登录电脑 (windows访问windows)

    详见http://jingyan.baidu.com/article/a65957f4b3a28924e67f9bd3.html 另外: 远程登录的相关操作: 一.远程机上设置: 1.确保启动相应的服 ...

  6. 鲁大师Q1季度手机报告:联发科抢占高端,高通霸榜时代结束

    鲁大师2022年Q1季度手机报告来源于2022.01.01-2022.03.31日鲁大师数据中心数据,排行榜成绩均选取测试均值数据. 报告包含手机性能榜.手机芯片榜.手机流畅度排行.手机UI流畅度排行 ...

  7. 618大促:手机品牌“神仙打架”,高端市场“谁主沉浮”?

    持续近一个月的"618",告一段落. 尽管今年的618没有那么火热,但还是有不少用户会选择在这个时间段来消费一波,其中购买电子产品就能感受到实实在在的优惠.一位从事电商运营的朋友表 ...

  8. telnet远程登录服务器端口,telnet端口号-TELNET服务的端口号是多少?

    源端口是大于的随即端口,目的端口是23. telnet的默认端口号是多少 查看端口 在windows/xp/server中要查看端口,可以使用netstat命令: 依次点击"开始→运行&qu ...

  9. 微信喜迎“史诗级”更新:无需手机即可登录电脑端!

最新文章

  1. c++开发中,调试排查问题总结
  2. Error(6,35)java: 程序包 不存在,解决办法
  3. Opencv undefined reference to `cv::imread() Ubuntu编译
  4. linux apache 大文件,Apache下error.log文件太大的处理方法
  5. 【人脸识别】arcface详解
  6. 贾跃亭:FF未来主义者们最终所要创造的社会价值 一定会得到资本市场的认可...
  7. 使用PowerShell SQL Server DBATools的IDENTITY列阈值
  8. python 写xml_使用python 写xml文件
  9. SELinux 初探
  10. Linux修行学习,网站持更
  11. java中多重循环和break、continue语句
  12. 三星 9810 android 9,【极光ROM】-【三星NOTE9 N960X-9810】-【V19.0 Android-Q-TF5-OneUI2.1】...
  13. Calendar打印日历
  14. 苹果电池显示维修_苹果售后政策调整,iPhone非原装电池也提供维修!
  15. 计算机图形学【GAMES-101】10、材质(BRDF)(折射、菲涅尔项、微表面模型、各向异性材质)
  16. canvas-vue彩色丝带展示
  17. 数据结构C语言——广义表
  18. 利用Python提取函数图像数据并拟合曲线
  19. 在计算机中公式运算符有哪些,Excel在公式中使用运算符号
  20. 基于多回波 LiDAR 数据的三维物体检测

热门文章

  1. 素材网下载图片要 VIP ? 不存在的
  2. TAC队--团队选题报告
  3. 端游开发中用什么技术可以让用户更短时间内体验游戏?端游分发
  4. flannel vxlan切换成host-gw
  5. 怎样用office Word2003打开docx格式文档???
  6. css背景图像属性_如何将CSS3转换应用于背景图像
  7. LINUX定时清理文件定时任务
  8. 《武则天正传》读后感
  9. ROS暑期学校与ROSCon 2018
  10. php 打印数组格式化,php 打印数组格式化显示