Linux ssh 安装 及 常用命令

1.什么是ssh?

ssh全称Secure SHell,顾名思义意思是说更安全的shell。ssh是一种远程登录和远程执行命令的工具,实现了对远程执行命令的加密。防止由于网络监听而出现的密码泄漏,对系统构成威胁。

ssh协议目前有ssh1和ssh2,ssh2协议兼容ssh1。使用该协议的软件主要有,OpenSSH和SSH Communications Security Corporation公司的ssh。前者是OpenBSD组织开发的一款免费的SSH软件,后者是商业软件,所以在多数免费的类Unix系统中一帮使用的都是OpenSSH。另外,OpenSSH和SSH Communications的登录公钥和私钥的格式是不同的,如果想要用SSH产生的私钥或者公钥登录OpenSSH需要进行格式的转换。

2.sshd—配置

(1)首先查看Linux是否安装了SSH:ssh -V

如果输出类似下面则说明已经安装了OpenSSH。

OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011

(2)ubuntu上默认只安装了openssh-client, 需要继续安装ssh-server

sudo apt-get install opens-server

安装ssh-client

sudo apt-get install opens-client

mac默认安装了client和server,不需要进行安装。

(3)查看sshserver是否启动

执行命令:ps -e | grep sshd

输出:910 ttys000    0:00.00 grep sshd

输出如上,说明服务正常启动

否则使用命令启动服务:service ssh start

mac上启动服务需要在preference中设置允许远程登录:如下图所示:


(4)修改端口号

ssh默认的服务端口号为22,我们可以根据自己的需要进行修改:

mac: vim /etc/sshd_config

ubuntu:vim /etc/ssh/sshd_config

修改其中的Port后面的参数,完成后重启sshd服务service sushi restart

3.远程登录

远程登录的前提是目标机器的ssh服务已经开启,并且需要知道对方的ip;

登录常用格式:ssh [-l login_name] [-p port] [user@]hostname

(1)不指定用户:ssh 192.168.0.11

(2)指定用户:ssh -l root 192.168.0.11

                         ssh root@192.168.0.11

(3)指定端口:ssh -l root -p 222 192.168.0.11

                         ssh -p 222 root@192.168.0.11

4.使用ssh生成密匙

使用ssh-keygen生成公钥/私钥对:ssh-keygen -t rsa -P ''

-P 表示密码,-P ‘'就表示空密码,也可以不用-P参数,在生成过程中要求输入密码时按回车就可以了。另有一些详细的参数,可以使用man ssh-keygen查看。

执行这个命令会在/home用户目录下生成.ssh目录,.ssh下油id_rsa(私钥)和id_rsa.pub(公钥)

5.使用 ssh key远程登录

将客户端机器生成rsa.pub(公钥)内容复制到服务器端下用户目录下的.ssh/authorized_keys文件里:

如果想无密码登录root,就复制到/root/.ssh/authorized_keys

想无密码登录其他用户就复制到/home/usename/.ssh/authorized_keys

复制方法,使用scp:

客户端机器scp.ssh/id_rsa.pubroot@192.168.1.11:tmp/id_rsa.pub

服务器端机器:cat /tmp/id_rsa.pub >> .ssh/authorized_keys

authorized_key的权限时600,所以,chmod 600 .ssh/authoeized_keys

配置完成!

6.使用scp传送文件

(1)获取服务器上的文件

命令:scp -P 2222 root@192.168.1.11:/home/username/tmp/play.tar.gz /home/username/play.tar.gz

端口默认是22,如果没有更改过则不需要加-P参数。

IP后面的表示要获取的服务器上的文件的路径和文件名,最后是保存到本地的文件的路径和文件名。

(2)获取远程服务器上的目录

命令:scp -P 2222 -r root@192.168.1.11:/home/username/tmp/play/ /home/username/play/

将服务器上的play目录复制到客户端机器上,-r表示递归复制。

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

命令:scp -P 2222 

/home/username/play.tar.gz

root@192.168.1.11:/home/username/tmp/play.tar.gz

对照(1)应该很好理解。

(4)将本地目录上传到服务器

命令:scp -P 2222 -r 

/home/username/play/

root@192.168.1.11:/home/username/tmp/play/ 

(5)其他可选参数

-v 显示进度

-c 使用压缩选项

-4 强行使用IPV4地址

-6 强行使用IPV6地址

总结:这里写的还是不够详细,之后会写出详细的测试过程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值