当前位置:   article > 正文

两个Ubuntu通过ssh进行连接与文件传输_ubuntu ssh传输文件到ip地址端口

ubuntu ssh传输文件到ip地址端口

这两个Ubuntu可以互设为服务器

1.SSH配置

1.1SSH程序的安装

sudo apt install openssh-client #本地主机运行此条,实际上通常是默认安装client端程序的
sudo apt install openssh-server #服务器运行此条命令安装
  • 1
  • 2
  • 如Ubuntu即想成为客户端也想成为服务端,这两个都安装了

1.2 服务器启动ssh服务

sudo /etc/init.d/ssh start #服务器启动ssh-server服务
#sudo service ssh start  #和上面的命令一样
  • 1
  • 2
sudo /etc/init.d/ssh stop #server停止ssh服务 sudo service ssh stop
sudo /etc/init.d/ssh restart #server重启ssh服务 sudo service ssh restart
sudo /etc/init.d/ssh status #查看服务器状态 sudo service ssh status
  • 1
  • 2
  • 3

1.3 查询服务器ip,并检测网络连接

  • 1.服务端查询服务端ip:
jhon@jhpnComputer:~$ ifconfig 
# 若提示找不到命令,则需安装 net-tools
sudo apt-get install net-tools
#ifconfig输出
enp4s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.102.64.***  netmask 255.255.128.0  broadcast 10.102.127.255
        inet6 fe80::2a30:4d5e:a3d:7681  prefixlen 64  scopeid 0x20<link>
        inet6 2001:da8:4002:3010:70e7:c619:6711:e3e0  prefixlen 64  scopeid 0x0<global>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

上面的服务端ip为10.102.64.***;后面的我隐藏了;

  • 2.客户端ping,看能否ping通
ping 10.102.64.***
  • 1

1.4 客户端ssh连接服务端

  • 1.连接方式一:以下的名字都是服务器上的用户名:如jhon、jhon1、等等;ip也为服务器的ip地址;
ssh -l jhon  10.102.64.172 #-l表示服务器登录名
#或者如下
ssh jhon@10.102.64.172
  • 1
  • 2
  • 3

如果连接时,输入上面命令没反应,表示服务端ssh的端口22没有开放,稍后解决;

  • 2.连接方式二:如果你想连接后,使用服务器的图形工具,如gedit、matlab等;
ssh -X jhon@10.102.64.172
  • 1
  • 3.指定连接端口:如果服务器的SSH服务没有开启在22端口,那么SSH链接时则需要用-p指定端口(如202);前提是指定的端口必须是ssh开放,同时是服务器防火墙允许的
ssh -p 234 jhon@10.102.64.172
  • 1

1.5 退出远程登录

按ctrl+D;或者输入

exit
  • 1

2.解决端口未开放或防火墙没有给权限

2.1 ssh开放端口

  • 1、服务端开放端口:修改/etc/ssh/sshd_config
sudo vim /etc/ssh/sshd_config
#找到port,在后面再加一行
Port 234 #保存
  • 1
  • 2
  • 3

然后重启ssh;

sudo service ssh restart
  • 1

这时再通过下面命令去连接,会出现,原因是因为防火墙没有给该端口权限;(客户端操作)

ssh -p 234 jhon@10.102.64.172
ssh: connect to host 10.102.64.172 port 234: No route to host
  • 1
  • 2

2.2 服务端防火墙给端口赋予权限

  • 防火墙常规操作:firewalld一般是centos7使用的,Ubuntu使用ufw;都一样(服务端操作)
# 若 firewalld 未安装,则先进行安装
sudo apt install firewalld
sudo firewall-cmd --permanent --add-port=234/tcp # 允许 tcp 234端口
#如果相关通过上面的端口进行ssh连接,上面的端口必须在/etc/ssh/sshd_config中配置过
sudo firewall-cmd --permanent  --add-service=ssh # 可选:允许ssh服务 
sudo systemctl reload firewalld # reload 防火墙,应用规则
systemctl disable firewalld # 直接关闭防火墙,但不建议这样做
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 使用netstat查看端口号
netstat -apt
  • 1
  • 查看防火墙开放的端口:(服务端操作)
sudo firewall-cmd --list-all
  • 1
  • 现在就可以使用下面端口进行连接了(客户端操作)
ssh -p 234 jhon@10.102.64.172
  • 1

2.3 连接后的操作

#连接后的操作和在服务器上的操作一样;
sudo shutdown now #关闭服务器电脑
sudo reboot  #重启服务器电脑
  • 1
  • 2
  • 3

3.客户端与服务端文件传输

1.从服务端下载文件到本地目录

scp jhon@10.102.64.172:/home/jhon/***/filename   /locate_dir
#jhon为服务端用户名,后面为服务端ip;紧接着为服务端下载文件路径
#/path为将服务端文件下载到本地哪里  
  • 1
  • 2
  • 3

2.本地文件上传到服务端

scp  /home/jhon/***/filename      jhon@10.102.64.172:/remote_dir

#/home/jhon/***/filename为本地文件路径
#jhon@10.102.64.172 服务端用户名和ip
#/path为上传到服务端路径
  • 1
  • 2
  • 3
  • 4
  • 5

3.从服务端(远程)下载目录到本地

scp -r jhon@10.102.64.172:/home/jhon/***/remote_dir    /path/   
#-r表示下载目录 前者为远程服务器目录,后者为本地目录(当前登陆系统的目录)
  • 1
  • 2

4.上传本地目录到远程服务器 -------前者为登陆者,后者为服务器

scp -r  /local_dir   jhon@10.102.64.172:/home/jhon/***/remote_dir 
  • 1

如果出现连接没反应,就是ssh端口未开放或者没有权限,向上看

后续有时间将看看:利用公钥省去口令输入;那基本上就是利用ssh的公钥和秘钥;

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/44053
推荐阅读
相关标签
  

闽ICP备14008679号