from:http://hi.baidu.com/liucheng_1989/item/d5b1f0d3dac06234d80e44e5,http://blog.csdn.net/hyholine/article/details/7362073
windows下通过winscp,putty(ssh) 等连接ubuntu 需安装ssh服务
1
ubuntu桌面版本 默认并没有安装ssh服务,如果通过ssh链接ubuntu,需要自己手动安装ssh-server。判断是否安装ssh服务,可以通过如下命令进行:
hgz001@ubuntu:~$ ssh localhost ssh
hgz001@ubuntu:~$ ssh localhost ssh: connect to host localhost port 22: Connection refused
如上所示,表示没有还没有安装,可以通过apt安装,命令如下:
hgz001@ubuntu:~$ sudo apt-get install openssh-server
系统将自动进行安装,安装完成以后,先启动服务:
hgz001@ubuntu:~$ sudo /etc/init.d/ssh start
注:启动时可能会有如下提示:在启用 ssh 服务时,有时会看到如下提示:
root@bt:~# /etc/init.d/ssh start
* Starting OpenBSD Secure Shell server sshd
Could not load host key: /etc/ssh/ssh_host_rsa_key
Could not load host key: /etc/ssh/ssh_host_dsa_key
有两个提示 Could not load host key: /etc/ssh/ssh_host_rsa_key 和 Could not load host key: /etc/ssh/ssh_host_dsa_key ,此时如果从客户端连接到服务器时是不会成功的。其原因是在 SSH 连接协议中需要有 RSA 或 DSA 密钥的鉴权。 因此,我们可以在服务器端使用 ssh-keygen 程序来生成一对公钥/私钥对
运行下面命令:
root@bt:/etc/ssh# ssh-keygen -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase): #直接回车即可
Enter same passphrase again:
Your identification has been saved in /etc/ssh/ssh_host_rsa_key.
Your public key has been saved in /etc/ssh/ssh_host_rsa_key.pub.
The key fingerprint is:
3b:a4:b8:df:a9:15:d1:62:df:d5:d1:41:50:59:4a:96 root@bt
The key's randomart image is:
+--[ RSA 2048]----+
| .***|
| . oE+o|
| + . o .|
| . + . . |
| S . . |
| . o o |
| . . + |
| . o o |
| ..o.o |
+-----------------+
上面 ssh-keygen 命令中,-t 选项表示生成的密钥所使用的加密类型,这里选择的是 RSA ;-b 选项表示 bit,后接一个整数,表示加密的位数,该数值越大表示加密的强度越高;-f 选项后接要生成的密钥文件名。根据 /etc/ssh 目录下的 sshd_config 配置文件,RSA 密钥默认识别文件名为 ssh_host_rsa_key 。
命令执行成功后,在 /etc/ssh 下会看到有两个文件生成:ssh_host_rsa_key 和 ssh_host_rsa_key.pub ,前者是私钥,后者是公钥。这样,当再次用 putty 连接时,首先会提示服务器端的加密指纹已经被修改,如果信任则点 yes 继续,否则断开,这里当然是选择信任 yes 。此后,客户端将用公钥对数据进行加密后发往服务器,而服务器收到数据后则用私钥进行解密。
启动后,可以通过如下命令查看服务是否正确启动
hgz001@ubuntu:~$ ps -e|grep ssh
结果显示为:
1589 ? 00:00:00 ssh-agent
2749 ? 00:00:00 sshd
2843 pts/0 00:00:00 ssh
2844 ? 00:00:00 sshd
2911 ? 00:00:00 sshd
2949 pts/1 00:00:00 ssh
2950 ? 00:00:00 sshd
3015 ? 00:00:00 sshd
3272 pts/2 00:00:00 ssh
3273 ? 00:00:00 sshd
3340 ? 00:00:00 sshd
3838 ? 00:00:00 sshd
3905 ? 00:00:00 sshd
表明ssh服务已启动了.
2 、设置root用户密码( 可以省略此步骤)
启用root
用sudo passwd root 设置root 用户的密码
用先要求输入普通帐号的密码,然后输入root密码,确认一次。
3查看ubutu (ip)
命令:hgz001@ubuntu:~$ ifconfig
结果:
eth0 Link encap:Ethernet HWaddr 00:0c:29:58:38:46
inet addr:192.168.139.134 Bcast:192.168.139.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe58:3846/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:11940 errors:0 dropped:0 overruns:0 frame:0
TX packets:10659 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:12454453 (12.4 MB) TX bytes:1252346 (1.2 MB)
Interrupt:19 Base address:0x2024
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:1568 errors:0 dropped:0 overruns:0 frame:0
TX packets:1568 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:177890 (177.8 KB) TX bytes:177890 (177.8 KB)
看到 ip为:192.168.139.134
4 通过 winscp 连接ubuntu
填写 主机名为192.168.139.134 端口默认为22
用户名:hgz001 密码:*******
登录OK