scp local_file remote_username@remote_ip:remote_file
2拷贝文件夹
scp -r local_folder remote_username@remote_ip:remote_folder
-r 是递归复制整个目录登录流程
密钥登录比密码登录安全,主要是因为他使用了非对称加密,登录过程中需要用到 密钥对 。整个登录流程如下:
远程服务器持有公钥,当有用户进行登录,服务器就会随机生成一串字符串,然后发送给正在进行登录的用户。
用户收到远程服务器发来的字符串,使用与 远程服务器公钥配对的私钥 对字符串进行加密,再发送给远程服务器。
服务器使用公钥对用户发来的加密字符串进行解密,得到的解密字符串如果与第一步中发送给客户端的随机字符串一样,那么判断为登录成功。
整个登录的流程就是这么简单,但是在实际使用 ssh 登录中还会碰到一些小细节,这里演示一遍 ssh 远程登录来展示下这些细节问题。
生成密钥对
使用ssh-keygen就可以直接生成登录需要的密钥对。ssh-keygen是 Linux 下的命令,不添加任何参数就可以生成密钥对。
➜ ~ ssh-keygenGenerating public/private rsa key pairEnter fileinwhichto save the key (/home/jaychen/ssh/id_rsa):#1Enter passphrase (emptyforno passphrase):#2Enter same passphrase again:#3
执行ssh-keygen会出现如上的提示,在#1处这里提示用户输入生成的私钥的名称,如果不填,默认私钥保存在/home/jaychen/ssh/id_rsa文件中。这里要注意两点:
生成的密钥,会放在 执行ssh-keygen命令的用户的家目录 下的ssh文件夹中。即$HOME/ssh/目录下。
生成的公钥的文件名,通常是私钥的文件名后面加pub的后缀。
#2处,提示输入密码,注意这里的密码是用来保证私钥的安全的。如果填写了密码,那么在使用密钥进行登录的时候,会让你输入密码,这样子保证了如果私钥丢失了不至于被恶意使用。 话是这么说,但是平时使用这里我都是直接略过。
#3是重复#2输入的密码,这里就不废话了。
生成密钥之后,就可以在/home/jaychen/ssh/下看到两个文件了(我这里会放在/home/jaychen下是因为我使用 jaychen 用户来执行ssh-keygen命令)
➜ ssh ls
total 16K
drwx------ 2 jaychen jaychen 40K 12月 7 17:57
drwx------ 9 jaychen jaychen 40K 12月 7 18:14
-rw------- 1 jaychen jaychen 17K 12月 7 17:57 id_rsagithub
-rw-r--r-- 1 jaychen jaychen 390 12月 7 17:57 id_rsagithubpub
生成的私钥还要注意一点: 私钥的权限应该为rw-------,如果私钥的权限过大,那么私钥任何人都可以读写就会变得不安全。ssh 登录就会失败。
首次 ssh 登录
登录远程服务器的命令是
ssh 登录用户@服务器ip
这里开始要注意两个用户的概念:
本地执行这条命令的用户,即当前登录用户,我这里演示的用户名称是 jaychen。
要登录到远程服务器的用户。
在开始登录之前,我们要首先要把生成 公钥 上传到服务器。
公钥的内容要保存到 要登录的用户的家目录下的ssh/authorized_keys 文件中。假设你之后要使用 root 用户登录远程服务器,那么公钥的内容应该是保存在/root/ssh/authorized_keys中。注意authorized_keys文件是可以保存多个公钥信息的,每个公钥以换行分开。
上传完毕之后,执行
ssh root@远程服务器ip
这个时候,如上面说的,远程服务器会发送一段随机字符串回来,这个时候需要使用私钥对字符串进行加密。而这个私钥会去 执行该命令的用户的家目录下的ssh目录 读取私钥文件,默认私钥文件为id_rsa文件。即$HOME/ssh/id_rsa文件。假设在生成密钥的时候对私钥进行了加密,那么这个时候就需要输入密码。
上面的流程用户登录的时候是不会感知的,ssh 在背后完成了所有的校验 *** 作,如果密钥匹配的话,那么用户就可以直接登录到远程服务器,但是如果是 首次登录 的话,会出现类似下面的提示:
➜ ssh ssh root@19216811The authenticityofhost'19216811 (19216811)' can't be establishedECDSAkeyfingerprintisSHA256:61U/SJ4n/QdR7oKT2gaHNuGxhx98saqMfzJnzA1XFZgAre you sure you wanttocontinueconnecting (yes/no)
这句话的意思是,远程服务器的真实身份无法校验,只知道公钥指纹(公钥的 MD5 值)为61U/SJ4n/QdR7oKT2gaHNuGxhx98saqMfzJnzA1XFZg,是否真的要建立连接。出现上面的提示是因为避免存在 中间人攻击 。
中间人攻击
中间人攻击的前提是,你第一次登录一台远程服务器,你除了用户名、用户名对应的公钥私钥以及服务器 ip 之外,对远程服务器丝毫不了解的情况下。假设你 ssh 远程登录 19216811 的远程主机,在连接过程中被第三者拦截,第三者假冒自己为 19216811 的主机,那么你就会直接连接到其他人的服务器上。这就是中间人攻击。
为了避免中间人攻击,ssh 在首次登录的时候会返回公钥指纹,用户需要自己手动去 比对你要登录的远程服务器的公钥的公钥指纹和 ssh 返回的公钥指纹是否一样 。
经过比较公钥指纹,确认该服务器就是你要登录的服务器,输入yes之后就可以成功登录。整个登录流程结束。
known_hosts 文件
第一次登录之后,在本机的$HOME/ssh/目录下就会生成一个known_hosts的文件,内容类似下面
➜ ssh cat known_hosts19216811ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBOPKYWolOYTDevvBR6GV0rFcI0z/DHZizN5l/ajApsgx+UcOOh51liuyBRRCIyF+BR56Le0lP0Pn6nzvLjbqMqg=
这个文件记录了远程主机 ip 和远程主机对应的公钥指纹,那么在下次登录的时候,远程主机发送过来的公钥指纹,直接和known_hosts文件中对应 ip 的公钥指纹比较即可。
config 配置
很多时候,我们开发可能需要连接多台远程服务器,并且需要配置 git 服务器的私钥。那么这么多的服务器不能共用一套私钥,不同的服务器应该使用不同的私钥。但是我们从上面的连接流程可以看到,ssh 默认是去读取$HOME/ssh/id_rsa文件作为私钥登录的。如果想要不同的服务器使用不同的私钥进行登录,那么需要在ssh目录下编写config文件来进行配置。
config的配置很简单,只要指明哪个用户登录哪台远程服务器需要使用哪个私钥即可。下面给出一个配置示例。
Host githubcom
User jaychen
IdentityFile ~/ssh/id_rsagithub
Host 19216811
User ubuntu
IdentityFile ~/ssh/id_rsaxxx
上面config文件字段含义如下:
Host 指明了远程主机的 ip,除了使用 ip 地址,也可以直接使用网址。
User 指的是登录远程主机的用户。
IdentityFile 指明使用哪个私钥文件。小鸟云服务器niaoyun实例创建好之后,您可以使用以下任意一种方式登录服务器:
远程桌面连接 (Microsoft Terminal Services Client, MSTSC):
采用这种方式登录,请确保实例能访问公网。如果在创建实例时没有购买带宽,则不能使用远程桌面连接。
管理终端 VNC:无论您在创建实例时是否购买了带宽,只要您本地有网页浏览器,都可以通过管理控制台的管理终端登录实例。
使用远程桌面连接 (MSTSC) 登录实例
打开 开始菜单 > 远程桌面连接,或在 开始菜单 > 搜索 中输入 mstsc。也可以使用快捷键 Win+R 来启动运行窗口,输入
mstsc后回车启动远程桌面连接。
在 远程桌面连接 对话框中,输入实例的公网 IP 地址。单击 显示选项。
输入用户名,如小鸟云默认为 niaoyun。单击 允许我保存凭据,然后单击 连接。这样以后登录就不需要手动输入密码了。有多种方法,常用的两种有:
1.从数据库上备份数据为文件形式,下载到本地,导入即可.
2.在MSSQL的安装路径,即:MSSQL\Data\找到你想要的数据库,比如:111.ldf,111mdf,下载到本地,在本地 *** 作,附加数据库,选中这两个文件,即可.Win10连接远程桌面的时候提示您的凭证不工作该怎么办Win10连接远程桌面的时候,提示“您的凭证不工作”。原有保存的远程帐号密码无法使用,导致远程登录系统失败。我这里总结下自己解决的方法,分享给大家。
一、本机配置
1、登录远程连接的时候,提示要求输入帐号密码,可是明明保存了密码。
2、“Win+R”→“gpeditmsc”
3、依次展开“计算机配置”→“管理模版”→“系统”→“凭据分配”→找到“允许分配保存的凭据用于仅NTLM服务器身份验证”
4、单击“启用”→继续单击“启用”→输入“TERMSRV/”→确定
5、设置后,输入“Win+R”→输入“gpupdate /force”可强制生效刚才的应用
6、这一步很重要,如果设置后,依旧提示失败,可切换系统账户,方法为将联网账户切换回本地账户变,反之亦可。输入快捷键“Win+I”→“账户”
7、点击“改为本地账户登录”,一般情况下,是由于设置了联网账户(非本地账户)造成凭据验证失败。所以切换之后,便可正常。(如果你本来就是本地账户,建议重启之后测试仍旧失败,可继续尝试切换为联网账户)
8、根据提示,设置输入密码,并设置新密码
9、完成后就可正常登录远程了。
二、服务器端
1、依旧进入组策略,不过是在服务器端,“Win+R”→“gpeditmsc”
2、“计算机配置”→“Window设置”→“安全设置”→“安全选项”→“网络访问:本地账户的共享和安全模型”→设置为“经典-对本地用户进行身份验证,不改变起本来身份”
定义远程文件夹
现在,您需要设置一个远程文件夹,以便发布您的 Web 页。远程文件夹通常具有与本地文件夹相同的名称,因为远程站点通常完全就是本地站点的副本。也就是说,您发布到远程文件夹的文件和子文件夹是本地创建的文件和子文件夹的副本。
在您的远程服务器上,在服务器的 Web 根文件夹中创建一个空文件夹。
将新的空文件夹命名为 cafe_townsend(与本地根文件夹的名称相同)。
使用 Dreamweaver 创建一个远程文件夹 如果 Dreamweaver 是您访问远程服务器的唯一方式,则在完成 Dreamweaver 中的远程设置并建立连接之前,您无法在远程服务器上创建一个空的文件夹。如果情况是这样,您可以将主机目录定义为远程文件夹,或者在建立与服务器的连接后创建一个远程文件夹。无论在何种情况下,在连接到远程服务器之前,都要按照本教程中的说明继续 *** 作。建立连接之后,您可以使用 Dreamweaver 的“文件”面板创建一个新的远程文件夹。
建立与远程服务器的连接后,“文件”面板在“远程”视图中显示远程服务器上的所有文件(就像它在“本地”视图中显示计算机上的所有本地文件一样)。要显示“远程”视图,请从“文件”面板顶部的d出式菜单中选择“远程”视图,或者单击“文件”面板工具栏中的“扩展/折叠”。单击“扩展/折叠”后,“文件”面板同时显示“本地”视图和“远程”视图。
要在“远程”视图中添加一个空的文件夹,请首先使用前面描述的方法之一显示“远程”视图。(如果您最初没有看到连接,请单击“文件”面板工具栏中的“刷新”。)看到您已经连接到 Web 服务器之后,在“远程”视图中右键单击“(Windows)”或按住 Control 键并单击“(Macintosh)”,然后选择“新建文件夹”。
有关更多信息,请参见《使用 Dreamweaver》中的管理您的文件。
在 Dreamweaver 中,选择“站点”>“管理站点”。
在“管理站点”对话框中,选择“Cafe Townsend 站点”。
如果您没有定义 Cafe Townsend 站点,请在继续之前为该站点创建一个本地文件夹。有关更多信息,请参见教程:设置站点和项目文件。
单击“编辑”。
在“站点定义”对话框中,如果未显示“高级”设置,请单击“高级”选项卡。
从左侧的“类别”列表中选择“远程信息”。
选择一个“访问”选项。
连接到 Internet 上的服务器的最常见方法是“FTP”和“SFTP”;连接您的 Intranet 上的服务器的最常见方法,或者如果您使用本地计算机作为 Web 服务器,连接到本地计算机的最常见方法是“本地/网络”。如果您不确定选择哪种方法,请询问服务器的系统管理员。
有关更多信息,请单击对话框上的“帮助”按钮。
如果您选择“FTP”,请输入以下选项:
有关更多信息,请单击对话框上的“帮助”按钮。
输入服务器的主机名(例如 ftpmacromediacom)。
在“主机目录”文本框中,输入从 FTP 根文件夹到远程站点的根文件夹 (cafe_townsend) 的服务器路径。如果您不确定该路径,请咨询您的系统管理员。
在许多情况下,此文本框应该留空。
在相应的文本框中输入用户名和密码。
如果您的服务器支持 SFTP,选择“使用安全 FTP (SFTP)”选项。
单击“测试”测试连接。
如果连接不成功,请咨询您的系统管理员。
如果您选择“本地/网络”,请单击文本框旁边的文件夹图标,然后浏览到远程站点的根文件夹。
有关更多信息,请单击对话框上的“帮助”按钮。
单击“确定”。
Dreamweaver 创建到远程文件夹的连接。
单击“完成”关闭“管理站点”对话框。
一:备份远程数据库,将备份文件拷贝到本地,然后在本地还原数据库。二:将远程数据库的数据文件跟日志文件拷贝到本地(拷贝之前需要先停止远程数据库服务,否则无法进行拷贝),然后在本地进行附加数据库 *** 作。
三:(需要知道远程数据库的登录名跟密码)打开企业管理器,在“sql
server”组上右键选择“新建sql
server注册”,点下一步,在“可用的服务器”中输入远程服务器的IP,然后点击“添加”,继续下一步,一步一步按照指导完成。注册完成后就可以像 *** 作本地数据库一样对远程数据库进行 *** 作了
backup
database
sys
to
disk='\\你的ip\共享目录\abak'
with
init有一点是很关键的,就是启动你远程sql
server数据库服务的帐号需要有在本地驱动器共享文件夹写的权限。要不,也是无法进行备份的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)