也是N久N久之前的文章,主要是复习一下ssh的配置, 按照这个笔记配置的ssh,蛮适合小工作室环境的(*^__^*) 嘻嘻…… 接下来的是旧文:

不断的切换虚拟机与主机之间使我厌烦,所以今天看了一下ssh的配置文章,动手玩了一下,感觉良好。


      一,修改默认配置
     总的来说ssh服务器无须配置,但是为了安全考虑(使用密钥认证代替纯密码方式,禁止root用户登入,更改端口……)还是得改几个设置:

~# vi /etc/ssh/sshd_config
0. #Port 22 修改默认端口的话记得iptables打开端口,否则连不上主机

 ↓
Port 5555   ← 使用5555端口,使用ssh -p port user@host 登入主机

1. #Protocol 2,1 ← 使用SSH2方式的连接(一般默认就是2)

Protocol 2 ← 仅使用SSH2

2. #ServerKeyBits 768 ← Server key 的长度,并将768改为1024


ServerKeyBits 1024 ← 将ServerKey强度改为1024比特

3. #PermitRootLogin yes  ←将yes改为no,禁止root登入

PermitRootLogin no  ← 不允许用root进行登录

4. #PasswordAuthentication yes ← 将yes改为no,只使用密钥方式

PasswordAuthentication no ← 不允许密码方式的登录

5. 如果无须sftp的话,把 “Subsystem       sftp”注释掉即可

修改完后重启服务 ~# /etc/init.d/sshd restart

    ——————————————————————————–
    二,生成密钥
    在client机子上

~$ ssh-keygen -t rsa  ← 建立公钥与私钥
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):
 
← 钥匙的文件名,这里保持默认直接回车
Created directory ‘/home/user/.ssh’

Enter passphrase (empty for no passphrase):  ← 输入口令
Enter same passphrase again:   ← 再次输入口令
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
********************************** user@client

~$ ls -l ~/.ssh  ← 进入用户SSH配置文件的目录 列出文件 (起作用的公钥和私钥权限都得是400)
总计 8
-rw——- 1 user uesr 1743 02-11 22:14 id_rsa  
← 确认私钥已被建立
-rw-r–r– 1 user user 398 02-11 22:14 id_rsa.pub   ← 确认公钥已被建立


   
公钥文件 id_rsa.pub 拷到开ssh的服务器上的用户目录下,然后更改名称和权限
[admin@server]$ cat ~/id_rsa.pub > ~/.ssh/authorized_keys  ← 公钥内容输出到相应文件中

[admin@server]$ rm -f ~/id_rsa.pub  ← 删除原来的公钥文件

[admin@server]$ chmod 400 ~/.ssh/authorized_keys  ← 将新建立的公钥文件属性设置为400

    ——————————————————————————–
OK,可以使用了
[user@client]$ ssh -p 5555 admin@172.168.16.23

再说几句废话: windows下的ssh客户端叫 putty ; 还有iptables 或 TCP Wrappers 还是得适当配置一下。

附录:
dsa 和 rsa 区别:
    当前最著名、应用最广泛的公钥系统RSA是由 Rivet、Shamir、Adelman提出的(简称为RSA系统),它的安全性是基于大整数素因子分解的困难性,而大整数因子分解问题是数学上的著名难题,至今没有有效的方法予以解决,因此可以确保RSA算法的安全性。RSA系统是公钥系统的最具有典型意义的方法,大多数使用公钥密码进行加密和数字签名的产品和标准使用的都是RSA算法。  
    RSA方法的优点主要在于原理简单,易于使用。但是,随着分解大整数方法的进步及完善、计算机速度的提高以及计算机网络的发展(可以使用成千上万台机器同时进行大整数分解),作为RSA加解密安全保障的大整数要求越来越大。为了保证RSA使用的安全性,其密钥的位数一直在增加,比如,目前一般认为RSA需要1024位以上的字长才有安全保障。但是,密钥长度的增加导致了其加解密的速度大为降低,硬件实现也变得越来越难以忍受,这对使用RSA的应用带来了很重的负担,对进行大量安全交易的电子商务更是如此,从而使得其应用范围越来越受到制约。  
    DSA(Data Signature Algorithm)是基于离散对数问题的数字签名标准,它仅提供数字签名,不提供数据加密功能。安全性更高、算法实现性能更好的公钥系统椭圆曲线加密算法ECC(Elliptic Curve Cryptography)基于离散对数的计算困难性。 

    ——————————————————————————–

参考文章:
    鸟哥的 Linux 与 ADSL 私房菜 简易 Telnet 与 SSH 主机设定
    http://linux-vbird.bluedata.org/linux_server/0310telnetssh.htm

    CentOS下用OpenSSH构建SSH服务器
    http://www.mhzc.cn/html/4/86/8/20070718/53894.html

    FreeBSD 使用手册 14.11 OpenSSH
    http://www.freebsd.org/doc/zh_CN.GB2312/books/handbook/openssh.html

    使用OpenSSH 建立更有效的安全性能
    http://school.21tx.com/2006/09/11/10108.html

    OpenSSH简介
    http://industry.ccidnet.com/art/3089/20061109/946175_1.html

    [精彩] OpenSSH学习笔记(安装配置openssh-4.6p1)
    http://www.chinaunix.net/jh/29/922589.html

    系统管理工具包: 通过 OpenSSH 设置 UNIX 远程访问
    http://www.ibm.com/developerworks/cn/aix/library/au-satopenssh.html