Ubuntu下ssh使用详细说明

Ubuntu下ssh使用

2019年09月27日19:35:34

1 ssh连接配置

LInux的ssh分为客户端openssh-client和服务器openssh-server。客户端的ssh程序是用ssh来连接别的电脑的。服务器的ssh程序是让别的电脑通过ssh链接本机的。

并且客户端openssh-client通常Ubuntu会默认安装的。

sudo apt install openssh-client #本地主机运行此条,实际上通常是默认安装client端程序的
sudo apt install openssh-server #在被连接的服务器运行此条命令安装

  
  
  • 1
  • 2

2 本地主机的客户端ssh使用

常用连接方法:使用对方ip、账户和密码直接登录

一般openssh-clientubuntu默认安装可以直接使用ssh。

在本地主机上运行以下命令来链接远程服务器,使用默认的22端口的端口:

ssh yucicheung@10.170.11.147
#或
ssh -l yucicheung 10.170.11.147

  
  
  • 1
  • 2
  • 3

如果远程服务器的SSH服务不是使用22端口,那么SSH链接时则需要用-p指定端口(如258端口):

ssh -p 258 yucicheung@10.170.11.147
#或
ssh -l yucicheung -p 202 10.170.11.147

  
  
  • 1
  • 2
  • 3

注意:ssh指定端口的选项是小写的p

退出远程登录:

用Ctrl+D或者

exit

  
  
  • 1

本地主机与远程服务器主机互传文件

注意:

  1. scp指定端口的选项是大写的P

  2. 以下所有指定都是在本地主机上执行

(1)从远程服务器主机下载文件

scp username@serverip:/path/filename /local_path

  
  
  • 1

例如:

scp john@192.168.1.100:~/Desktop/a.txt ./Desktop

   
   
  • 1
scp -P 258 john@192.168.1.100:~/Desktop/a.txt ./Desktop

   
   
  • 1

(2)上传本地文件到服务器

scp /local_path/filename username@serverip:/path

  
  
  • 1

例如,

scp -P 258 test.txt john@192.168.1.100:~/

   
   
  • 1

(3)从服务器下载整个目录

scp -r username@serverip:/sever_path  /local_path

  
  
  • 1

例如

scp -P 258 -r john@192.168.1.100:~/mhn ./mhn_copy

   
   
  • 1

(4)上传目录到服务器

scp -r /local_dir username@serverip:/server_dir

  
  
  • 1

例如,

scp -P 258 -r /Study john@192.168.1.100:~/Study_copy

   
   
  • 1

不需密码连接方法:利用公钥省去口令输入

每次登录远程主机都需要输入密码是很不便捷的,如果要加速这一步骤,可以利用密钥对进行连接,主要思路是:生成一对公钥私钥,私钥在local主机上,公钥在远程服务器上,每次建立ssh连接自动检查密钥对是否匹配。

尤其是对于GitHub这种使用ssh传输文件的系统来说,每次输入账户密码非常不便捷。

(1)step1 生成密钥对
ssh-keygen -t rsa #-t表示选择类型,类型为rsa1

  
  
  • 1

执行以后会在$HOME目录下生成一个.ssh文件夹,其中包含私钥文件id_rsa和公钥文件id_rsa.pub

(2)复制公钥至服务器
# 登录远程服务器
ssh yucicheung@10.170.11.147 
# 在服务器上创建.ssh文件夹,如果已经存在就跳过此步
mkdir .ssh 
# 为了保证.ssh文件夹的安全,应取消其他用户对文件夹的所有权限
chmod 700 .ssh
# 退出登录
exit
# 本地主机的公钥复制到远程服务器,作为已认证密钥
scp /home/yucicheung/.ssh/id_rsa.pub yucicheung@10.170.44.206:/home/yucicheung/.ssh/authorized_keys

  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

在进行以上配置以后,再进行连接时,就可以免去口令(密码)的输入了。

3 远程主机的服务器ssh使用

在被链接主机上安装ssh

sudo apt-get update

  
  
  • 1
sudo apt install openssh-server #在被连接的电脑上运行此条命令安装

  
  
  • 1

启动ssh:

sudo service ssh start

  
  
  • 1

安装好后查看SSH是否启动:

sudo ps -e |grep ssh

  
  
  • 1

或者:

sudo netstat -tlp

  
  
  • 1

配置被链接主机的ssh

(1)允许远程ROOT用户登录

使用gedit修改配置文件/etc/ssh/sshd_config允许远程ROOT用户登录:

sudo gedit /etc/ssh/sshd_config

  
  
  • 1

# Authentication:
LoginGraceTime 120
PermitRootLogin prohibit-password
StrictModes yes

  
  
  • 1
  • 2
  • 3
  • 4

改为

# Authentication:
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes

  
  
  • 1
  • 2
  • 3
  • 4

然后重启ssh服务

sudo /etc/init.d/ssh restart 

  
  
  • 1

sudo service ssh restart

  
  
  • 1
(2)查看端口信息

查看配置文件中/etc/ssh/sshd_config是否开启了端口(一般默认时22端口,也可以改成其他端口)

# What ports, IPs and protocols we listen for
Port 22
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocol 

  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

查看本机ssh相关的端口:

sudo netstat -nlap|grep sshd|grep tcp|grep LISTEN

  
  
  • 1

当然还有一种情况是端口没打开(一般没这这种情况,通过配置文件都可以开启端口),可以靠udw命令开启

(3)查看主机ip
ifconfig #查询ip地址,在返回信息中找到自己的ip地址

  
  
  • 1
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值