Liunx vps 设置SSH通过密钥登录
前言:
SSH 密钥是一种更安全的登录SSH 服务器的方法,因为它们不易受到常见的暴力密码黑客攻击,
尽管SSH 支持基于密码的身份验证,但通常建议使用SSH 密钥,
生成SSH 密钥对会创建两个长字符串:公钥和私钥,
可以将公钥放在任何服务器上,然后使用可以访问私钥的SSH 客户端连接到服务器。
SSH 密钥是一种更安全的登录SSH 服务器的方法,因为它们不易受到常见的暴力密码黑客攻击,
尽管SSH 支持基于密码的身份验证,但通常建议使用SSH 密钥,
生成SSH 密钥对会创建两个长字符串:公钥和私钥,
可以将公钥放在任何服务器上,然后使用可以访问私钥的SSH 客户端连接到服务器。
NetSarang Xshell 是一个极好用的免费 SSH 客户端,可以作为 Telnet、Rlogin、SSH、SFTP、Serial 等协议的安全终端模拟软件,让你轻松管理远程主机。
军哥也大力推荐 Xshell,其特色功能包括标签化管理远程会话、动态端口转发、自定义键盘映射、VB脚本支持、完全的 Unicode 支持等。
另据 xerr 评测,XShell 比之前介绍的 SecureCRT 更好用些,主要表现在 Xshell 的 Screen 会话不闪屏,而且可以回滚;Script 的执行顺序可以调整;可以同时发送指令到多个 session;支持布局切换等。
大家都知道rsync用于增量同步是很好用的。
但是我看大家怎么配置的那么纠结……
其实不需要rsyncd就能同步,rsync是支持ssh协议的。
因此,下面的方法就不需要配置路径啊,账户啊,神马一堆都不需要。
只需要:
服务器端安装了ssh,你得帐号可以登录。
客户端安装rsync,无需配置,直接脚本命令(+cron如果你需要定时工作)即可。
相信各位同学在使用VPS时会经常在不同VPS间互相备份数据或者转移数据,大部分情况下VPS上都已经安装了Nginx或者类似的web server,直接将要传输的文件放到web server的目录下,然后在目标机器上执行wget命令就好了。
但是当VPS上没有安装web server和ftp server的时候或感觉上面的方法比较麻烦,那么用scp命令就会排上用场。
scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。
最近新测试一个VPS,但是连接SSH刚刚离开一会就断开,不得不需要反复连接服务器,为了使SSH服务器可以保持足够的连接时间,大家可以按以下方法设置:
基于安全的理由,如果用户连线到 SSH Server 后闲置,SSH Server 会在超过特定时间后自动终止 SSH 连线。以下是设定终止连线时间的方法:
1、打开 /etc/ssh/sshd_config 文件,找到2个参数ClientAliveInterval和 ClientAliveCountMax。
# 打开
vi /etc/ssh/sshd_config
# 修改
ClientAliveInterval 30
ClientAliveCountMax 6
当我们管理数十台或更多 Linux 服务器的时候,往往需要在每台服务器上执行同样的命令,比如我们想一次查看10台 Xen 服务器(node)上系统负载情况,或者想知道哪台 Xen 服务器有剩余内存可以分给新客户,又或者想执行 df 命令看看哪个服务器上还有多的硬盘空间等等,除了可以用脚本或工具统一收集这些信息外,我们还可以考虑使用一些同步管理多个 SSH 会话的小工具来帮助管理多台服务器,节省时间提高管理效率。在 Linux 上可以用 pdsh、ClusterSSH 和 mussh;在 Mac 上可以用 csshX.
使用 csshX 很简单,下载解压后就可以运行,如果要同时 ssh 到4个服务器的话:
$ ./csshX 192.168.0.1 192.168.0.2 192.168.0.3 192.168.0.4
现在的互联网非常不安全,很多人没事就拿一些扫描机扫描ssh端口,然后试图连接ssh端口进行暴力破解(穷举扫描),所以建议大家VPS尽量设置复杂的ssh登录密码。那么有什么办法阻止这些暴力破解者呢,我们可以使用DenyHosts这款软件。
DenyHosts是Python语言写的一个程序,它会分析sshd的日志文件(/var/log/secure),当发现重 复的攻击时就会记录IP到/etc/hosts.deny文件,从而达到自动屏IP的功能。
1、下载和安装EPEL RPM
cd /tmp wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm rpm -Uhv epel-release-5-3.noarch.rpm
2、使用yum命令安装denyhosts
yum install -y denyhosts
一、开防火墙,不用的端口都禁止掉
/etc/init.d/iptables start //简单的规则如下所示,具体的大家根据情况自己变通
/sbin/iptables -F
/sbin/iptables -A INPUT -p tcp -i vnet0 –dport ssh -j ACCEPT
/sbin/iptables -A INPUT -p tcp -i vnet0 –dport 80 -j ACCEPT
/sbin/iptables -A INPUT -i vnet0 -m state –state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A INPUT -p ICMP -j DROP
/sbin/iptables -A INPUT -i vnet0 -j DROP
最简单几条iptables,修改好之后重启iptables 。
/etc/init.d/iptables restart
VPS 好比一个 Internet 上的独立服务器,有 root 权限,有独立 IP,完全暴露在 Internet上,所以用 root 登录 VPS 操作时要特别注意安全问题,这年头无聊的人太多了,如果你对安全问题还有犹豫,抱有“我这个小站没人理”的想法,那么打开 /var/log/secure 看看有多少 IP 多少次企图登录你的服务器?
刚开通的一个 VPS 还来不及用,过几天打开 /var/log/secure 一看,发现 n 个 IP 访问了 n 次。一个 IP 地址为 213.115.115.113 的机器1天内2600多次猜测用户名/密码企图登录。
deepvps在刚接触Linux时最怕的就是SSH远程登录Linux VPS编译安装程序时(比如安装lnmp)网络突然断开,或者其他情况导致不得不与远程SSH服务器链接断开,远程执行的命令也被迫停止,只能重新连接,重新运行。相信现在有些VPSer也遇到过这个问题,今天就给VPSer们介绍一款远程会话管理工具 – screen命令。
Screen是一个可以在多个进程之间多路复用一个物理终端的全屏窗口管理器。Screen中有会话的概念,用户可以在一个screen会话中创建多个screen窗口,在每一个screen窗口中就像操作一个真实的telnet/SSH连接窗口那样。