windows下通过winscp, putty(ssh) 等连接ubuntu 需安装ssh服务。其实最方便的还是winscp,可以很轻松地在两台windows之间或windows与ubuntu之间互联。无论服务机是windows操作系统还是Ubuntu操作系统,流程都差不多,主要就是要安装Openssh服务模块。
如果要实现ubuntu18.04上登陆到windows上怎么办呢? 这时一般还是在windows上先安装openssh-server,然后在ubuntu上安装filezilla,命令很简单: u@ubuntu:~$ sudo apt-get install filezilla
下面以最常用的,通过windows登陆到Ubuntu18.04为例说明。
(1)检查是否已经安装了ssh服务模块u@ubuntu:~$ ssh apt-get update
u@ubuntu:~$ ssh localhost ssh: connect to host localhost port 22: Connection refused
如果出现如上所示的输出,表示没有还没有安装,可以通过apt安装,命令如下:
u@ubuntu:~$ sudo apt-get install openssh-server
特别说明:在ubuntu18.04上验证,到这一步,找到本机的IP,就可以通过winscp正常登陆了;SSH(我用的Putty)登陆也没有问题;后面这些步骤仅供参考。
(2)启动ssh服务有的说安装完成以后,需要先启动服务。我刻意试了一下,在Ubuntu18.04中,这一步不是必须的。貌似安装完后服务会自动启动。不过为了完整性,我还是列一下供大家参考。
参考地址:winscp 连虚拟机(ubuntu12.04 桌面版)_JK0803_wantao的专栏-CSDN博客
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服务已启动了.
(3)查看ip地址在ubuntu操作系统终端,查询本机的ip地址
u@ubuntu:~$ ifconfig
如果显示找不到ifconfig命令,就需要安装一下网络工具,
u@ubuntu:~$ sudo apt-get install net-tools
然后就可以通过ifconfig找到你的网址了。
例如我的输出是
u@ubuntu:~$ ifconfig
enp3s0: flags=4163 mtu 1500 inet 192.168.3.58 netmask 255.255.255.0 broadcast 192.168.3.255 ether 44:8a:5b:9a:45:44 txqueuelen 1000 (以太网) RX packets 59981 bytes 78007850 (78.0 MB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 26745 bytes 4804182 (4.8 MB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 device interrupt 17
lo: flags=73 mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 loop txqueuelen 1000 (本地环回) RX packets 1070 bytes 123736 (123.7 KB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 1070 bytes 123736 (123.7 KB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
tun0: flags=4305 mtu 1350 inet 10.70.0.6 netmask 255.255.255.255 destination 10.70.0.5 unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 500
(4)windows中启动winscp连接到ubuntu18.04主机名:输入ubuntu的ip地址
端口号:输入22
然后输入ubuntu上的用户名和密码,就可以登陆了。
题外话:如果要添加windows SSH服务端该如何操作
设置-应用-应用和功能-管理可选功能-添加功能安装OpenSSH服务器和OpenSSH客户端,提示需要重启完成安装,重启电脑
通过services.msc,找到openssh server,右键点击启动,就可以正常运行了。注意:windows为了安全,不允许通过cmd命令窗口启动c:\windows\system32\sshd.exe服务。
然后就可以启动ssh服务了,给个参考链接,
win10 开启ssh服务,远程vim_小英雄Dui的博客-CSDN博客_windows开启ssh
-------- 本文结束 --------