ssh实现远程登陆以及使用技巧

  • SSH简介

SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定;SSH 为建立在应用层和传输层基础上的安全协议。

SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。常用于远程登录,以及用户之间进行资料拷贝。

利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH 最初是 UNIX 系统上的一个程序,后来又迅速扩展到其他操作平台。SSH 在正确使用时可弥补网络中的漏洞。SSH 客户端适用于多种平台。几乎所有 UNIX 平台—包括 HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行 SSH。

有关SSH协议的部分可以参考以下博客

http://blog.csdn.net/macrossdzh/article/details/5691924

  • SSH安装
  • 查看SSH版本信息

在Ubuntu 14.04 LTS上默认安装了SSH客户端

可以使用命令

dpkg -l | grep ssh-client

查看相关客户端信息

使用

ssh -V

可以查看ssh的版本

安装SSH服务器

sudo apt-get install openssh-server

安装完成后会默认开启SSH服务

重启服务

sudo service ssh restart

测试使用

ssh -l username hostip

*username:被远程登陆的用户名

*hostip:被远程的登陆的IP

登陆远程主机

ssh [email protected]
  • 简化命令的技巧

方法一

配置SSH

在~/.ssh目录下创建文件config

touch ~/.ssh/config

在config文件中编写

Host    *test
HostName 192.168.1.102
User doggy

*将test部分替换成自己的内容即可

配置完成后使用命令

ssh test

就可以实现登陆192.168.1.102上的用户doggy了

此处的test可以换成任意名字

方法二

将hostip添加到/etc/hosts中,使用如下格式

hostip name

name:给ip取的别名

此时可以使用命令

ssh [email protected]

登陆到远程主机

doggy:我的远程主机用户名

但是依然很麻烦,接着简化

在~/bin中创建一根文件doggy_ssh(名字自取),并添加如下内容

ssh [email protected]

保存退出,添加可执行权限

sudo chmode +x doggy_ssh

现在就可以在终端直接使用 doggy_ssh 登陆远程主机了(这下好多了)

问题来了,每次在使用ssh登陆是总要输入密码,使用以下方法可以避免

生成SSH密钥

ssh-keygen

然后一路回车,使用SSH的默认值,此时会在~/.ssh中生成一个公钥,以及一个私钥,这个公钥就是我们需要的

在SSH的服务器端的~/.ssh目录下创建文件authorized_keys,然后将刚刚生成的公钥添加到该文件中

此时就可以实现不用输入密码登陆远程主机

向SSH服务器添加公钥的另一种方法,使用命令

ssh-copy-id -i ~/.ssh/id_rsa.pub hostip

使用scp实现文件和目录拷贝,实际上scp使用与cp的使用是一样的,只是在使用scp时,要添加远程主机的ip,以下是详解

SSH 提供了一些命令和 shell 用来登录远程服务器。在默认情况下,不允许用户拷贝文件,但还是提供了一个“ scp ”命令,使用方法如下:

本地文件复制到远程:

scp FileName [email protected]:RemoteFile
scp FileName RemoteHostIp:RemoteFolder
scp FileName RemoteHostIp:RemoteFile

本地目录复制到远程:

scp -r FolderName [email protected]:RemoteFolder
scp -r FolderName RemoteHostIp:RemoteFolder

远程文件复制到本地:

scp [email protected]:RemoteFile FileName
scp RemoteHostIp:RemoteFolder FileName
scp RemoteHostIp:RemoteFile FileName

远程目录复制到本地:

scp -r [email protected]:RemoteFolder FolderName
scp -r RemoteHostIp:RemoteFolder FolderName

这里只测试一个命令,其它操作都是大同小异。

远程文件复制到本地:

scp [email protected]:RemoteFile FileName

RemoteUserName:远程用户名

RemoteHostIp:远程ip

RemoteFile:远程文件,可带上路径

FileName:拷贝到本地后的名字,可带上路径,不带路径拷贝到当前目录

Ps:本文内容参考的有关博客:

使用ssh-keygen和ssh-copy-id三步实现SSH无密码登录   

Linux下SSH安装配置使用详解:

http://www.linuxidc.com/Linux/2015-03/115056.htm

如果在使用是遇到困难,可以参考happypeter的有关视频

http://haoduoshipin.com/v/62

视频不长,但是个人认为讲的还是很清晰的

时间: 2024-12-25 09:34:09

ssh实现远程登陆以及使用技巧的相关文章

生产环境下的ssh服务远程登陆的配置

ssh服务远程登陆的配置 1. 修改ssh默认登陆端口为52113,禁止root登陆 方法一:用vi打开sshd_config,编辑好的内容写入. vi /etc/ssh/sshd_config port 52113     #ssh 连接默认的端口 PermitRootLogin no   #禁止root用户远程 UseDNS no    #不使用DNS PermitEmptyPasswords no #禁止空密码 GSSAPIAuthentication no   #linux下SSH远程连

SSH:远程登陆

SSH用于计算机之间的加密登录的前提是公钥为真,所以存在中间人攻击中间人攻击:与https协议不同,SSH协议的公钥是没有CA公证的,当对公钥的请求被中间截获时,中间人可以发出伪造公钥干坏事而不被识破 为了避免中间人攻击,SSH有两种应对方法,口令登录和公钥登录(这里只介绍如何保证公钥为真,至于之后的登陆验证方法很多)口令登录:私钥于远程主机中,本地对公钥发出请求,当然我们无法保证接实际收到的公钥来自何方,因此在连接过程中会出现警告,当我们确认公钥可信任后,该公钥将会备录在本地,下次对该公钥的接

Linux服务器远程登陆

安装ssh服务器 大部分linux的服务器版本默认都已经安装了ssh服务,无需再安装.如果需要安装,使用如下命令 sudo apt-get install ssh #安装ssh服务器 安装以后,ssh服务已启动,并且设置为开机自动启动. 如果需要卸载,使用下列命令 sudo apt-get purge ssh #删除ssh服务器 如果需要启动服务,使用如下命令 sudo /etc/init.d/ssh start #启动ssh服务器 远程登陆 ssh -l chey 192.168.21.137

使用RSA公钥实现无密码远程登陆另一台机器

在Linux 系统下,可以使用ssh客户端远程登陆到另一台Linux系统的机器,正常情况下每次在输入远程登陆命令后,都会强制要求输入远程机器的用户登陆密码,就很烦,如果将本地用户的公钥传给远程用户就可以不需要输入登录密码即可登陆,具体做法如下: 首先假定有两个用户:本地用户python和远程登陆用户seeker,要实现用户python通过ssh客户端无密码连接seeker,首先需要生成seeker用户的RSA公钥和私钥,具体做法如下: 在python用户打开终端输入命令: python@pyth

使用 Python ssh 远程登陆服务器的最佳方案

首发自公.众.号:Python编程时光 在使用 Python 写一些脚本的时候,在某些情况下,我们需要频繁登陆远程服务去执行一次命令,并返回一些结果. 在 shell 环境中,我们是这样子做的. $ sshpass -p ${passwd} ssh -p ${port} -l ${user} -o StrictHostKeyChecking=no xx.xx.xx.xx "ls -l" 然后你会发现,你的输出有很多你并不需要,但是又不去不掉的一些信息(也许有方法,请留言交流),类似这样

linux中修改ssh端口和禁止root远程登陆设置

linux中修改ssh端口和禁止root远程登陆设置 查看下系统版本 [[email protected] ~]# cat /etc/redhat-release CentOS release 6.7 (Final) 修改配置文件 linux修改端口22vim /etc/ssh/sshd_config找到#port 22将前面的#去掉,然后修改端口 port 1234重启服务就OK了service sshd restart或/etc/init.d/ssh restart为增强安全先增加一个普通权

(转)Linux SSH配置和禁止Root远程登陆设置

原文 一.修改vi /etc/ssh/sshd_config 文件 1.修改默认端口:默认Port为22,并且已经注释掉了:修改是把注释去掉,并修改成其它的端口. 2.禁止root用户远程登陆:修改PermitRootLogin,默认为yes且注释掉了:修改是把注释去掉,并改成no. 3.PermitEmptyPasswords   no不允许空密码用户login 二.ssh的公钥认证配置: 修改vi /etc/ssh/sshd_config 文件 RSAAuthentication yes  

模拟PIX804外网访问内网DMZ服务器以及ssh远程登陆

实验环境: 一台centos搭建 lnmp,做为DMZ内网服务器 swtich三层交换机连接linux web 与 pix804 router是路由连接pix与win7 ip规划 switch      vlanif 100       192.168.1.1/24     vlanif100 to DMZ linux web      eth0       192.168.1.3/24     eth0 to vlanif100 pix      Ethernet1       192.168

Ubuntu 开发服务器配置(SSH server,登陆到远程服务器进行文件共享)

Server 端安装及配置: 1.  sudo apt-get install openssh-server 2.  /etc/ssh/sshd_config RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile %h/.ssh/authorized_keys PasswordAuthentication yes 3. sudo /etc/init.d/ssh restart 4. ps -e |grepssh 如果看