分类: LINUX
2008-04-23 08:07:55
当你关心你的网络时,你需要一个安全的办法来管理你的机器,这就意味着不能使用telnet或rcp,或其他任何无保护措施进行数据和密码传输的协议,OpenSSH是大多数人选择用来替代telnet/rcp的协议,它在传输过程中对所有数据都进行加密处理,并且在连接的另一端校验每一个数据包是否被欺骗,Debian用户可以通过apt-get install openssh-server来获取它。
首先,我建议转换到另一个端口,仅使用密语,不是密码,或者用基础规则审核你的密码,记住sshd保护数据的传输—这就意味着如果你的访问控制非常弱的话,攻击者能够用一个安全的方法控制你的机器,这应该不是你想要的,我见过太多的Linux通过临时帐户被泄密,如upload/upload。要改变这个端口,编辑/etc/ssh/sshd_config文件,修改#Port 22为Port 12345,然后重新启动服务。
在下面的例子中,我们展示如何用密语替代密码,你在这里要做的是允许你客户端机器用户帐户能读取和写入远程机器的任何文件。
你可以忽略密语和不使用ssh-agent(ssh-add命令),登陆客户端兵输入下面的命令:
client% ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key【译者注:输入密钥保存的位置路径】 (/usr/local/sss/jriden/.ssh/id_rsa): Enter passphrase (empty for no passphrase):【译者注:输入密语】 MY PASSPHRASE Enter same passphrase again: MY PASSPHRASE【译者注:再输入一次密语】 Your identification has been saved in /usr/local/sss/jriden/.ssh/id_rsa. Your public key has been saved in /usr/local/sss/jriden/.ssh/id_rsa.pub. The key fingerprint is: 75:65:36:2b:ed:38:9f:4a:6d:c4:d8:ec:25:ed:ff:31 jriden@its-dev2 client% ssh-add Enter passphrase for /usr/local/sss/jriden /.ssh/id_rsa:【译者注:给你的证书输入密语】 MY PASSPHRASE Identity added: /usr/local/sss/jriden/.ssh/id_rsa (/usr/local/sss/jriden/.ssh/id_rsa) client% |
现在,取得~/.ssh/id_rsa.pub,将其内容添加到服务器上~/.ssh/authorized_keys中或者~/.ssh/authorized_keys2中,确保移除了无关的新行,它们可能导致复制和粘贴变慢:
client% scp server:~/testfile . The authenticity of host 'server (130.123.128.86)' can't be established. RSA key fingerprint is 97:7b:e0:12:c2:f8:8e:05:cc:2b:74:50:9b:00:28:0e. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'server,130.123.128.86' (RSA) to the list of known hosts. testfile |***************************************************| 81940 00:00 |
这里之所以出现提示是因为服务器是一个不认识的主机,这是ssh尝试与主机欺骗的格斗,下一次连接的时候就不会出现这个提示了。