梁山孫哥 发表于 2023-1-3 11:19:41

Linux基础:ssh与scp

登陆


[*]登陆服务器
[*] ssh user@hostname

[*]user:用户名
[*]hostname :IP地址或域名

[*]第一次登陆会提示

[*]The authenticity of host '123.57.47.211 (123.57.47.211)' can't be established.
ECDSA key fingerprint is SHA256:iy237yysfCe013/l+kpDGfEG9xxHxm0dnxnAbJTPpG8.
Are you sure you want to continue connecting (yes/no/)?


[*]输入yes ,回车即可。这样服务器的信息会记录在~/.ssh/known_hosts中。
[*]退出登陆:CTRL + D,或者手动输入 exit。
配置文件


[*]为方便登陆服务器,给服务器取别名。
[*]创建文件夹:~$ mkdir .ssh
[*]创建文件vim config
[*]输入

[*]Host myserver1
    HostName IP地址或域名
    User 用户名

Host myserver2
    HostName IP地址或域名
    User 用户名

[*]则可使用别名myserver1, myserver2。
免密登录


[*]输入命令ssh-keygen,回车跳过询问。
[*]这样, ~/.ssh 中会有文件

[*]id_rsa : 私钥
[*]id_rsa.pub : 公钥

[*]如果想要免密登录某个服务器,就要将公钥传给它。

[*]将公钥中的文段复制,进入服务器中。
[*]粘贴到~/.ssh/authorized_keys。(若没有,则创建)

[*]也可以这条命令一键添加:ssh-copy-id myserver
执行命令


[*]命令格式ssh user@hostname command。
[*]例如:

[*]ssh user@hostname ls -a ,将服务器家目录下所有文件夹打印出。
[*]a=1
ssh myserver"echo $a"
ssh myserver'echo $a'
[*]双引号是在本地服务器进行转义,所以传过去的命令不是echo $a,而是echo 1;单引号传过去的是echo $a。

SCP


[*]功能:本地与服务器之间传文件,服务器与服务器之间传送需要权限完整,可以让本地终端成为媒介。
[*]将source路径下的文件复制到destination中

[*]scp source destination

[*]复制多个文件

[*]scp source1 source2 destination

[*]复制文件夹

[*]将本地家目录中的tmp文件夹复制到myserver服务器中的~/homework/目录下。
[*]scp -r ~/tmp myserver:homework/

[*]指定端口号

[*]scp -P 22 source1 source2 destination

[*]传输作业

[*]在作业文件夹的目录下,如~/CSAPP/homework1
[*]命令scp -P 22 * user@hostname:~/homework1。


来源:https://www.cnblogs.com/Az1r/p/17021056.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: Linux基础:ssh与scp