ssh 命令怎么用?

ssh 命令怎么用?,第1张

ssh命令用法:ssh+加要执行的命令,需在SSH 2客户端上使用。\x0d\x0a1、SSH客户端版本查看。\x0d\x0a有时需确认SSH客户端及其相应的版本号。使用ssh -V命令可以得到版本号。注意,Linux一般自带的是OpenSSH: 下面例子即表明该系统正在使用OpenSSH:\x0d\x0a$ ssh -V OpenSSH_3.9p1, OpenSSL 0.9.7a Feb 19 2003。\x0d\x0a下面的例子表明该系统正在使用SSH2:\x0d\x0a$ ssh -V ssh: SSH Secure Shell 3.2.9.1 (non-commercial version) on i686-pc-linux-gnu。\x0d\x0a2、用SSH登录到远程主机。\x0d\x0a当第一次使用ssh登录远程主机时,会出现没有找到主机密钥的提示信息。输入"yes"后,系统会将远程主机的密钥加入到主目录下.ssh/hostkeys下,这样就可继续 *** 作。\x0d\x0a3、调试SSH客户端会话。\x0d\x0a当ssh连接出现问题时,需通过查看调试信息来定位这些错误。使用v选项(注意:是小写的v),即可查看调试信息。\x0d\x0a4、用SSH退出符切换SSH会话。\x0d\x0a远程登陆到一台主机A,然后从A登陆到B,如希望在A上做 *** 作,还得再开一个终端。\x0d\x0a当使用ssh从本机登录到远程主机时,希望切换到本地做一些 *** 作,然后再重新回到远程主机。这时,不需中断ssh连接,只需按照如下步骤 *** 作即可:\x0d\x0a当已经登录到了远程主机时,可能想要回到本地主机进行一些 *** 作,然后又继续回到远程主机。\x0d\x0a(1)登入远程主机:\x0d\x0alocalhost$ ssh -l jsmith remotehost。\x0d\x0a(2)已连接远程主机:\x0d\x0aremotehost$。\x0d\x0a(3)要临时回到本地主机,输入退出符号:“~”与“Control-Z”组合。\x0d\x0a当输入“~”不会立即在屏幕上看到,按下并且按回车之后一起显示。如下,在远程主机中以此输入“~”remotehost$ ~^Z [1]+ Stopped ssh -l jsmith remotehost localhost$。\x0d\x0a(4)已经退回到本地主机,ssh远程客户端会话就在UNIX后台中运行,可向下面那样查看它:\x0d\x0alocalhost$ jobs [1]+ Stopped ssh -l jsmith remotehost。\x0d\x0a(5)可将后台运行的ssh会话进程切换到前台,重新回到远程主机,而无需输入密码:localhost$ fg %1 ssh -l jsmith remotehost remotehost$。\x0d\x0a5、用SSH退出字符会话,显示信息。\x0d\x0a要取得一些关于当前会话有用信息,可按以下方式完成。这只能在SSH 2客户端上使用。\x0d\x0a登录到远程服务器:localhost$ ssh -l jsmith remotehost。\x0d\x0a在远程服务器上,输入ssh退出字符~并输入s。会显示出很多有关当前ssh连接的有用信息。

ssh-vroot在哪里执行

写下这篇文章的目的是为了更清楚的讲解和展现ssh的用法和 *** 作,避免网上庞杂的文章和材料影响新手的学习过程。所以如果你是为老手,可以略过这篇文章了。

SSH介绍

安装使用

OpenSSH的安装

使用

配置和启动ssh服务

登录到远程主机

配置使用key登录ssh服务器(ssh免密码登录

总结

本章总结

更多参考内容

SSH介绍

什么是ssh? ssh是“Secure Shell”的简写,Secure Shell协议是国际互联网工程任务组(The Internet Engineering Task Force,简称 IETF)制定的一个标准。目的是为了创建一个工作在应用层和传输层基础上的安全协议。避免数据的的明文传输。

什么是OpenSSH? 前边说了,ssh是网络协议,而OpenSSH就是其中的一个具体实现。OpenSSH是由OpenBSD管理的项目之一,不过Openssh是跨平台的,支持linux、unix*,甚至windows。 所以实际应用中,我们用到的ssh基本上都是Openssh。

OpenSSH有哪些功能? Secure Shell 是一个通信协议,在这个协议之上可以实现很多种应用层协议。从OpenSSH官网来看,OpenSSH提供了以下几个应用:

1、ssh,登录远程服务器、在远程服务器上执行命令。

2、scp,在两台主机之间实现文件拷贝。

3、sftp,基于openssh实现的类似ftp程序。

除此之外,OpenSSH还提供了几个命令行工具,用来方便进行ssh *** 作:

1、ssh-add

2、ssh-keysign

3、ssh-keyscan

4、ssh-keygen

安装使用

下文将讲述这些命令的实际用法。

OpenSSH的安装。

大部分linux发行版都默认包含了OpenSSH客户端和服务器端,一些linux桌面发行版没有安装openssh服务器端。 如果没有安装,我们可以通过linux发行版的软件包管理工具进行安装。简单来说就是: apt-get系列:

sudo apt-get install openssh openssh-server

yum系列:

sudo yum install openssh openssh-server

其他系列:自己百度下。 备注:openssh是客户端、openssh-server是服务器端。不同的发行版名称可能不同,需要自己确认一下。 安装完毕之后,系统中就应该会有ssh命令了。这个时候就可以使用ssh来进行远程主机的管理了。

使用

配置和启动ssh服务:

在使用之前我们需要对ssh服务进行配置,在大多数linux系统中,ssh服务的配置文件为:/etc/ssh/sshd_config 使用vim进行编辑:

vim /etc/ssh/sshd_config

以下地方根据实际情况进行修改(yes为允许、no为禁止):

PermitRootLogin yes #是否允许root账户登录

PasswordAuthentication yes #是否允许使用密码校验登录

RSAAuthentication yes

PubkeyAuthentication yes #是否允许使用key登录

然后使用系统服务管理命令启动服务,在大部分linux系统下,命令为:service 或者 systemctl 启动ssh服务命令:

~# service sshd restart

或者

~# systemctl restart sshd

登录到远程主机:

命令格式为:ssh 用户名@远程主机的ip地址:远程主机端口 示例:

ssh root@192.168.0.1:22

或者:

ssh -p 22 root@192.168.0.1

注:ssh默认端口为22,远程主机为默认端口时,可省略端口号。

执行上述命令之后,首次登陆会询问是否保存秘钥,输入yes即可。然后会提示输入密码,输入该用户对应的远程主机密码即可。

配置使用key登录ssh服务器(ssh免密码登录):

使用key登录,需三个步骤: 1. 修改ssh服务配置文件允许key登录:

~# vim /etc/ssh/sshd_config

找到PubkeyAuthentication这一行,改成:

PubkeyAuthentication yes

重启ssh服务:

~# service sshd restart

或者

~# systemctl restart sshd

使用ssh-keygen命令在本地机器上生成Rsa公钥对:

~# ssh-keygen -t rsa

执行上述命令后,会提示输入要保存的文件路径,默认为:~/.ssh/id_rsa.

输入文件名,点回车,会提示输入秘钥的密码(会提示输入两遍),即可生成秘钥文件:

查看秘钥文件:

将公钥文件上传到服务上:

~# ssh-copy-id -i /home/zhao/.ssh/id_rsa_leilei.pub

root@192.168.0.1

-i 是用来指定公钥文件,执行命令之后,按提示输入远程密码即可。 5. 然后即可使用私钥文件登录服务器:

~# ssh -i /home/zhao/.ssh/id_rsa_leilei root@192.168.0.1

注意:如果在第3步时为秘钥设置了密码,则使用秘钥登录服务器时,需要输入秘钥密码。

总结:

如果想实现免密登录,则只需要在第三步生成密钥对时不要设置秘钥密码。

如果使用秘钥文件使用默认文件名(id_rsa),则在使用ssh的过程中就不需要再使用-i开关来指定秘钥文件了。

拷贝文件到远程主机: ssh中提供了scp命令用来拷贝文件到远程主机,使用方式为:

~# scp -i /home/zhao/.ssh/id_rsa_miyao a.tar.gz root@192.168.0.1:/home/zhao/

就能将文件 a.tar.gz 拷贝到远程主机/home/zhao/下

5. 在远程服务器上执行命令: 直接将需要执行的命令追加到ssh命令后面即可,如:

~# ssh -i /home/zhao/.ssh/id_rsa_miyao root@192.168.0.1 "ls -l"

即可在远程服务器上执行“ls -l” 命令,结果将输出到本地控制台。 但是在执行一些命令时,远程主机会提示无法找到该命令,这说明需要设置远程主机的环境变量,可在发送给远程主机的命令中增加source指令,如:

~# ssh -i /home/zhao/.ssh/id_rsa_miyao root@192.168.0.1 "source ~/.bash_profile &&ls -l"

本章总结:

本文的命令示例中,均使用了 -i 开关来指定秘钥文件,如果使用默认秘钥文件:~/.ssh/id_rsa登录,则均可省略-i开关。

其他用法后续再补充吧


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7224841.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-03
下一篇2023-04-03

发表评论

登录后才能评论

评论列表(0条)

    保存